home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1993 / Internet Info CD-ROM (Walnut Creek) (1993).iso / networking / ip / manage / snmp / cmu-snmp-patches.shar < prev    next >
SHell self-extracting ARchive  |  1992-01-15  |  14.8 KB

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text

This file was processed as: SHell self-extracting ARchive (archive/shar).

You can browse this item here: cmu-snmp-patches.shar

ConfidenceProgramDetectionMatch TypeSupport
66% dexvert SHell self-extracting ARchive (archive/shar) ext Supported
1% dexvert Text File (text/txt) fallback Supported
100% file POSIX shell script text executable default
99% file a /bin/sh script, ASCII text executable default (weak)
100% checkBytes Printable ASCII default
100% perlTextCheck Likely Text (Perl) default
100% gt2 Shell Skript: '/bin/sh' default (weak)
100% detectItEasy Format: plain text[LF] default (weak)
100% binwalkID Executable script, shebang: "/bin/sh" default (weak)
100% xdgMime application/x-shellscript default (weak)



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 23 21 20 2f 62 69 6e 2f | 73 68 0a 23 20 54 68 69 |#! /bin/|sh.# Thi|
|00000010| 73 20 69 73 20 61 20 73 | 68 65 6c 6c 20 61 72 63 |s is a s|hell arc|
|00000020| 68 69 76 65 2e 20 20 52 | 65 6d 6f 76 65 20 61 6e |hive. R|emove an|
|00000030| 79 74 68 69 6e 67 20 62 | 65 66 6f 72 65 20 74 68 |ything b|efore th|
|00000040| 69 73 20 6c 69 6e 65 2c | 20 74 68 65 6e 20 75 6e |is line,| then un|
|00000050| 70 61 63 6b 0a 23 20 69 | 74 20 62 79 20 73 61 76 |pack.# i|t by sav|
|00000060| 69 6e 67 20 69 74 20 69 | 6e 74 6f 20 61 20 66 69 |ing it i|nto a fi|
|00000070| 6c 65 20 61 6e 64 20 74 | 79 70 69 6e 67 20 22 73 |le and t|yping "s|
|00000080| 68 20 66 69 6c 65 22 2e | 20 20 54 6f 20 6f 76 65 |h file".| To ove|
|00000090| 72 77 72 69 74 65 20 65 | 78 69 73 74 69 6e 67 0a |rwrite e|xisting.|
|000000a0| 23 20 66 69 6c 65 73 2c | 20 74 79 70 65 20 22 73 |# files,| type "s|
|000000b0| 68 20 66 69 6c 65 20 2d | 63 22 2e 20 20 59 6f 75 |h file -|c". You|
|000000c0| 20 63 61 6e 20 61 6c 73 | 6f 20 66 65 65 64 20 74 | can als|o feed t|
|000000d0| 68 69 73 20 61 73 20 73 | 74 61 6e 64 61 72 64 20 |his as s|tandard |
|000000e0| 69 6e 70 75 74 20 76 69 | 61 0a 23 20 75 6e 73 68 |input vi|a.# unsh|
|000000f0| 61 72 2c 20 6f 72 20 62 | 79 20 74 79 70 69 6e 67 |ar, or b|y typing|
|00000100| 20 22 73 68 20 3c 66 69 | 6c 65 22 2c 20 65 2e 67 | "sh <fi|le", e.g|
|00000110| 2e 2e 20 20 49 66 20 74 | 68 69 73 20 61 72 63 68 |.. If t|his arch|
|00000120| 69 76 65 20 69 73 20 63 | 6f 6d 70 6c 65 74 65 2c |ive is c|omplete,|
|00000130| 20 79 6f 75 0a 23 20 77 | 69 6c 6c 20 73 65 65 20 | you.# w|ill see |
|00000140| 74 68 65 20 66 6f 6c 6c | 6f 77 69 6e 67 20 6d 65 |the foll|owing me|
|00000150| 73 73 61 67 65 20 61 74 | 20 74 68 65 20 65 6e 64 |ssage at| the end|
|00000160| 3a 0a 23 09 09 22 45 6e | 64 20 6f 66 20 73 68 65 |:.#.."En|d of she|
|00000170| 6c 6c 20 61 72 63 68 69 | 76 65 2e 22 0a 23 20 43 |ll archi|ve.".# C|
|00000180| 6f 6e 74 65 6e 74 73 3a | 20 20 52 45 41 44 4d 45 |ontents:| README|
|00000190| 20 6d 69 62 2e 63 2e 64 | 69 66 66 20 70 61 72 73 | mib.c.d|iff pars|
|000001a0| 65 2e 63 2e 64 69 66 66 | 20 70 61 72 73 65 2e 68 |e.c.diff| parse.h|
|000001b0| 2e 64 69 66 66 0a 23 20 | 57 72 61 70 70 65 64 20 |.diff.# |Wrapped |
|000001c0| 62 79 20 70 68 69 6c 40 | 53 68 69 76 61 2e 43 4f |by phil@|Shiva.CO|
|000001d0| 4d 20 6f 6e 20 57 65 64 | 20 4a 61 6e 20 31 35 20 |M on Wed| Jan 15 |
|000001e0| 32 32 3a 33 36 3a 30 37 | 20 31 39 39 32 0a 50 41 |22:36:07| 1992.PA|
|000001f0| 54 48 3d 2f 62 69 6e 3a | 2f 75 73 72 2f 62 69 6e |TH=/bin:|/usr/bin|
|00000200| 3a 2f 75 73 72 2f 75 63 | 62 20 3b 20 65 78 70 6f |:/usr/uc|b ; expo|
|00000210| 72 74 20 50 41 54 48 0a | 69 66 20 74 65 73 74 20 |rt PATH.|if test |
|00000220| 2d 66 20 52 45 41 44 4d | 45 20 2d 61 20 22 24 7b |-f READM|E -a "${|
|00000230| 31 7d 22 20 21 3d 20 22 | 2d 63 22 20 3b 20 74 68 |1}" != "|-c" ; th|
|00000240| 65 6e 20 0a 20 20 65 63 | 68 6f 20 73 68 61 72 3a |en . ec|ho shar:|
|00000250| 20 57 69 6c 6c 20 6e 6f | 74 20 6f 76 65 72 2d 77 | Will no|t over-w|
|00000260| 72 69 74 65 20 65 78 69 | 73 74 69 6e 67 20 66 69 |rite exi|sting fi|
|00000270| 6c 65 20 5c 22 52 45 41 | 44 4d 45 5c 22 0a 65 6c |le \"REA|DME\".el|
|00000280| 73 65 0a 65 63 68 6f 20 | 73 68 61 72 3a 20 45 78 |se.echo |shar: Ex|
|00000290| 74 72 61 63 74 69 6e 67 | 20 5c 22 52 45 41 44 4d |tracting| \"READM|
|000002a0| 45 5c 22 20 5c 28 39 31 | 20 63 68 61 72 61 63 74 |E\" \(91| charact|
|000002b0| 65 72 73 5c 29 0a 73 65 | 64 20 22 73 2f 5e 58 2f |ers\).se|d "s/^X/|
|000002c0| 2f 22 20 3e 52 45 41 44 | 4d 45 20 3c 3c 27 45 4e |/" >READ|ME <<'EN|
|000002d0| 44 5f 4f 46 5f 52 45 41 | 44 4d 45 27 0a 58 50 61 |D_OF_REA|DME'.XPa|
|000002e0| 74 63 68 65 73 20 66 6f | 72 20 43 4d 55 20 53 4e |tches fo|r CMU SN|
|000002f0| 4d 50 20 74 6f 6f 6c 73 | 20 31 2e 31 62 20 74 6f |MP tools| 1.1b to|
|00000300| 20 61 63 63 65 70 74 20 | 6e 65 77 20 63 6f 6e 63 | accept |new conc|
|00000310| 69 73 65 20 4d 49 42 20 | 63 6c 61 75 73 65 73 0a |ise MIB |clauses.|
|00000320| 58 61 6e 64 20 22 64 65 | 70 72 65 63 61 74 65 64 |Xand "de|precated|
|00000330| 22 20 73 74 61 74 75 73 | 21 0a 45 4e 44 5f 4f 46 |" status|!.END_OF|
|00000340| 5f 52 45 41 44 4d 45 0a | 69 66 20 74 65 73 74 20 |_README.|if test |
|00000350| 39 31 20 2d 6e 65 20 60 | 77 63 20 2d 63 20 3c 52 |91 -ne `|wc -c <R|
|00000360| 45 41 44 4d 45 60 3b 20 | 74 68 65 6e 0a 20 20 20 |EADME`; |then. |
|00000370| 20 65 63 68 6f 20 73 68 | 61 72 3a 20 5c 22 52 45 | echo sh|ar: \"RE|
|00000380| 41 44 4d 45 5c 22 20 75 | 6e 70 61 63 6b 65 64 20 |ADME\" u|npacked |
|00000390| 77 69 74 68 20 77 72 6f | 6e 67 20 73 69 7a 65 21 |with wro|ng size!|
|000003a0| 0a 66 69 0a 23 20 65 6e | 64 20 6f 66 20 6f 76 65 |.fi.# en|d of ove|
|000003b0| 72 77 72 69 74 69 6e 67 | 20 63 68 65 63 6b 0a 66 |rwriting| check.f|
|000003c0| 69 0a 69 66 20 74 65 73 | 74 20 2d 66 20 6d 69 62 |i.if tes|t -f mib|
|000003d0| 2e 63 2e 64 69 66 66 20 | 2d 61 20 22 24 7b 31 7d |.c.diff |-a "${1}|
|000003e0| 22 20 21 3d 20 22 2d 63 | 22 20 3b 20 74 68 65 6e |" != "-c|" ; then|
|000003f0| 20 0a 20 20 65 63 68 6f | 20 73 68 61 72 3a 20 57 | . echo| shar: W|
|00000400| 69 6c 6c 20 6e 6f 74 20 | 6f 76 65 72 2d 77 72 69 |ill not |over-wri|
|00000410| 74 65 20 65 78 69 73 74 | 69 6e 67 20 66 69 6c 65 |te exist|ing file|
|00000420| 20 5c 22 6d 69 62 2e 63 | 2e 64 69 66 66 5c 22 0a | \"mib.c|.diff\".|
|00000430| 65 6c 73 65 0a 65 63 68 | 6f 20 73 68 61 72 3a 20 |else.ech|o shar: |
|00000440| 45 78 74 72 61 63 74 69 | 6e 67 20 5c 22 6d 69 62 |Extracti|ng \"mib|
|00000450| 2e 63 2e 64 69 66 66 5c | 22 20 5c 28 32 30 30 39 |.c.diff\|" \(2009|
|00000460| 20 63 68 61 72 61 63 74 | 65 72 73 5c 29 0a 73 65 | charact|ers\).se|
|00000470| 64 20 22 73 2f 5e 58 2f | 2f 22 20 3e 6d 69 62 2e |d "s/^X/|/" >mib.|
|00000480| 63 2e 64 69 66 66 20 3c | 3c 27 45 4e 44 5f 4f 46 |c.diff <|<'END_OF|
|00000490| 5f 6d 69 62 2e 63 2e 64 | 69 66 66 27 0a 58 3d 3d |_mib.c.d|iff'.X==|
|000004a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000004b0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000004c0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000004d0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000004e0| 3d 0a 58 52 43 53 20 66 | 69 6c 65 3a 20 2f 73 2f |=.XRCS f|ile: /s/|
|000004f0| 75 73 72 32 2f 4b 2f 72 | 65 70 6f 2f 74 6f 6f 6c |usr2/K/r|epo/tool|
|00000500| 73 2f 63 6d 75 2d 73 6e | 6d 70 2f 73 6e 6d 70 6c |s/cmu-sn|mp/snmpl|
|00000510| 69 62 2f 6d 69 62 2e 63 | 2c 76 0a 58 72 65 74 72 |ib/mib.c|,v.Xretr|
|00000520| 69 65 76 69 6e 67 20 72 | 65 76 69 73 69 6f 6e 20 |ieving r|evision |
|00000530| 31 2e 31 0a 58 64 69 66 | 66 20 2d 63 20 2d 72 31 |1.1.Xdif|f -c -r1|
|00000540| 2e 31 20 6d 69 62 2e 63 | 0a 58 2a 2a 2a 20 2f 74 |.1 mib.c|.X*** /t|
|00000550| 6d 70 2f 2c 52 43 53 74 | 31 61 32 32 33 33 30 09 |mp/,RCSt|1a22330.|
|00000560| 54 75 65 20 53 65 70 20 | 32 34 20 32 30 3a 32 32 |Tue Sep |24 20:22|
|00000570| 3a 35 37 20 31 39 39 31 | 0a 58 2d 2d 2d 20 6d 69 |:57 1991|.X--- mi|
|00000580| 62 2e 63 09 54 75 65 20 | 41 75 67 20 32 30 20 32 |b.c.Tue |Aug 20 2|
|00000590| 32 3a 35 34 3a 32 37 20 | 31 39 39 31 0a 58 2a 2a |2:54:27 |1991.X**|
|000005a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 0a 58 2a |********|*****.X*|
|000005b0| 2a 2a 20 39 33 2c 31 30 | 30 20 2a 2a 2a 2a 0a 58 |** 93,10|0 ****.X|
|000005c0| 2d 2d 2d 20 39 33 2c 31 | 30 32 20 2d 2d 2d 2d 0a |--- 93,1|02 ----.|
|000005d0| 58 20 20 09 20 20 20 20 | 2a 62 75 66 2b 2b 20 3d |X . |*buf++ =|
|000005e0| 20 27 2e 27 3b 0a 58 20 | 20 09 20 20 20 20 63 70 | '.';.X | . cp|
|000005f0| 2b 2b 3b 0a 58 20 20 09 | 7d 0a 58 2b 20 23 69 66 |++;.X .|}.X+ #if|
|00000600| 20 30 0a 58 20 20 09 69 | 66 20 28 28 78 20 25 20 | 0.X .i|f ((x % |
|00000610| 34 38 29 20 3d 3d 20 34 | 37 29 0a 58 20 20 09 20 |48) == 4|7).X . |
|00000620| 20 20 20 2a 62 75 66 2b | 2b 20 3d 20 27 5c 6e 27 | *buf+|+ = '\n'|
|00000630| 3b 0a 58 2b 20 23 65 6e | 64 69 66 0a 58 20 20 20 |;.X+ #en|dif.X |
|00000640| 20 20 20 7d 0a 58 20 20 | 20 20 20 20 2a 62 75 66 | }.X | *buf|
|00000650| 20 3d 20 27 5c 30 27 3b | 0a 58 20 20 7d 0a 58 2a | = '\0';|.X }.X*|
|00000660| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 0a 58 |********|******.X|
|00000670| 2a 2a 2a 20 33 39 36 2c | 34 30 32 20 2a 2a 2a 2a |*** 396,|402 ****|
|00000680| 0a 58 20 20 73 74 72 75 | 63 74 20 74 72 65 65 20 |.X stru|ct tree |
|00000690| 2a 67 65 74 5f 73 79 6d | 62 6f 6c 28 29 3b 0a 58 |*get_sym|bol();.X|
|000006a0| 20 20 0a 58 20 20 6f 69 | 64 20 52 46 43 31 30 36 | .X oi|d RFC106|
|000006b0| 36 5f 4d 49 42 5b 5d 20 | 3d 20 7b 20 31 2c 20 33 |6_MIB[] |= { 1, 3|
|000006c0| 2c 20 36 2c 20 31 2c 20 | 32 2c 20 31 20 7d 3b 0a |, 6, 1, |2, 1 };.|
|000006d0| 58 21 20 75 6e 73 69 67 | 6e 65 64 20 63 68 61 72 |X! unsig|ned char|
|000006e0| 20 52 46 43 31 30 36 36 | 5f 4d 49 42 5f 74 65 78 | RFC1066|_MIB_tex|
|000006f0| 74 5b 5d 20 3d 20 22 2e | 69 73 6f 2e 6f 72 67 2e |t[] = ".|iso.org.|
|00000700| 64 6f 64 2e 69 6e 74 65 | 72 6e 65 74 2e 6d 67 6d |dod.inte|rnet.mgm|
|00000710| 74 2e 6d 69 62 22 3b 0a | 58 20 20 73 74 72 75 63 |t.mib";.|X struc|
|00000720| 74 20 74 72 65 65 20 2a | 4d 69 62 3b 0a 58 20 20 |t tree *|Mib;.X |
|00000730| 0a 58 20 20 69 6e 69 74 | 5f 6d 69 62 28 29 0a 58 |.X init|_mib().X|
|00000740| 2d 2d 2d 20 33 39 38 2c | 34 31 32 20 2d 2d 2d 2d |--- 398,|412 ----|
|00000750| 0a 58 20 20 73 74 72 75 | 63 74 20 74 72 65 65 20 |.X stru|ct tree |
|00000760| 2a 67 65 74 5f 73 79 6d | 62 6f 6c 28 29 3b 0a 58 |*get_sym|bol();.X|
|00000770| 20 20 0a 58 20 20 6f 69 | 64 20 52 46 43 31 30 36 | .X oi|d RFC106|
|00000780| 36 5f 4d 49 42 5b 5d 20 | 3d 20 7b 20 31 2c 20 33 |6_MIB[] |= { 1, 3|
|00000790| 2c 20 36 2c 20 31 2c 20 | 32 2c 20 31 20 7d 3b 0a |, 6, 1, |2, 1 };.|
|000007a0| 58 21 20 63 68 61 72 20 | 52 46 43 31 30 36 36 5f |X! char |RFC1066_|
|000007b0| 4d 49 42 5f 74 65 78 74 | 5b 5d 20 3d 20 22 2e 69 |MIB_text|[] = ".i|
|000007c0| 73 6f 2e 6f 72 67 2e 64 | 6f 64 2e 69 6e 74 65 72 |so.org.d|od.inter|
|000007d0| 6e 65 74 2e 6d 67 6d 74 | 2e 6d 69 62 22 3b 0a 58 |net.mgmt|.mib";.X|
|000007e0| 21 20 0a 58 21 20 2f 2a | 20 70 68 69 6c 40 53 68 |! .X! /*| phil@Sh|
|000007f0| 69 76 61 2e 43 4f 4d 3b | 20 2a 2f 0a 58 21 20 23 |iva.COM;| */.X! #|
|00000800| 64 65 66 69 6e 65 20 52 | 46 43 31 30 36 36 5f 4d |define R|FC1066_M|
|00000810| 49 42 5f 74 65 78 74 5f | 6c 65 6e 20 28 73 69 7a |IB_text_|len (siz|
|00000820| 65 6f 66 28 52 46 43 31 | 30 36 36 5f 4d 49 42 5f |eof(RFC1|066_MIB_|
|00000830| 74 65 78 74 29 2d 31 29 | 0a 58 21 20 0a 58 21 20 |text)-1)|.X! .X! |
|00000840| 2f 2a 20 70 68 69 6c 40 | 53 68 69 76 61 2e 43 4f |/* phil@|Shiva.CO|
|00000850| 4d 3b 20 2a 2f 0a 58 21 | 20 63 68 61 72 20 52 46 |M; */.X!| char RF|
|00000860| 43 31 31 35 38 5f 4d 49 | 42 5f 74 65 78 74 5b 5d |C1158_MI|B_text[]|
|00000870| 20 3d 20 22 2e 69 73 6f | 2e 6f 72 67 2e 64 6f 64 | = ".iso|.org.dod|
|00000880| 2e 69 6e 74 65 72 6e 65 | 74 2e 6d 67 6d 74 2e 6d |.interne|t.mgmt.m|
|00000890| 69 62 2d 32 22 3b 0a 58 | 21 20 23 64 65 66 69 6e |ib-2";.X|! #defin|
|000008a0| 65 20 52 46 43 31 31 35 | 38 5f 4d 49 42 5f 74 65 |e RFC115|8_MIB_te|
|000008b0| 78 74 5f 6c 65 6e 20 28 | 73 69 7a 65 6f 66 28 52 |xt_len (|sizeof(R|
|000008c0| 46 43 31 31 35 38 5f 4d | 49 42 5f 74 65 78 74 29 |FC1158_M|IB_text)|
|000008d0| 2d 31 29 0a 58 21 20 0a | 58 20 20 73 74 72 75 63 |-1).X! .|X struc|
|000008e0| 74 20 74 72 65 65 20 2a | 4d 69 62 3b 0a 58 20 20 |t tree *|Mib;.X |
|000008f0| 0a 58 20 20 69 6e 69 74 | 5f 6d 69 62 28 29 0a 58 |.X init|_mib().X|
|00000900| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 0a |********|*******.|
|00000910| 58 2a 2a 2a 20 36 37 31 | 2c 36 37 39 20 2a 2a 2a |X*** 671|,679 ***|
|00000920| 2a 0a 58 20 20 20 20 20 | 20 2a 62 75 66 20 3d 20 |*.X | *buf = |
|00000930| 27 2e 27 3b 09 2f 2a 20 | 74 68 69 73 20 69 73 20 |'.';./* |this is |
|00000940| 61 20 66 75 6c 6c 79 20 | 71 75 61 6c 69 66 69 65 |a fully |qualifie|
|00000950| 64 20 6e 61 6d 65 20 2a | 2f 0a 58 20 20 20 20 20 |d name *|/.X |
|00000960| 20 73 75 62 74 72 65 65 | 20 3d 20 67 65 74 5f 73 | subtree| = get_s|
|00000970| 79 6d 62 6f 6c 28 6f 62 | 6a 69 64 2c 20 6f 62 6a |ymbol(ob|jid, obj|
|00000980| 69 64 6c 65 6e 2c 20 73 | 75 62 74 72 65 65 2c 20 |idlen, s|ubtree, |
|00000990| 62 75 66 20 2b 20 31 29 | 3b 0a 58 20 20 20 20 20 |buf + 1)|;.X |
|000009a0| 20 63 70 20 3d 20 62 75 | 66 3b 0a 58 21 20 20 20 | cp = bu|f;.X! |
|000009b0| 20 20 69 66 20 28 28 73 | 74 72 6c 65 6e 28 62 75 | if ((s|trlen(bu|
|000009c0| 66 29 20 3e 3d 20 73 74 | 72 6c 65 6e 28 28 63 68 |f) >= st|rlen((ch|
|000009d0| 61 72 20 2a 29 52 46 43 | 31 30 36 36 5f 4d 49 42 |ar *)RFC|1066_MIB|
|000009e0| 5f 74 65 78 74 29 29 20 | 26 26 20 21 62 63 6d 70 |_text)) |&& !bcmp|
|000009f0| 28 62 75 66 2c 20 28 63 | 68 61 72 20 2a 29 52 46 |(buf, (c|har *)RF|
|00000a00| 43 31 30 36 36 5f 4d 49 | 42 5f 74 65 78 74 2c 0a |C1066_MI|B_text,.|
|00000a10| 58 21 20 09 73 74 72 6c | 65 6e 28 28 63 68 61 72 |X! .strl|en((char|
|00000a20| 20 2a 29 52 46 43 31 30 | 36 36 5f 4d 49 42 5f 74 | *)RFC10|66_MIB_t|
|00000a30| 65 78 74 29 29 29 7b 0a | 58 21 20 09 20 20 20 20 |ext))){.|X! . |
|00000a40| 63 70 20 2b 3d 20 73 69 | 7a 65 6f 66 28 52 46 43 |cp += si|zeof(RFC|
|00000a50| 31 30 36 36 5f 4d 49 42 | 5f 74 65 78 74 29 3b 0a |1066_MIB|_text);.|
|00000a60| 58 20 20 20 20 20 20 7d | 0a 58 20 20 20 20 20 20 |X }|.X |
|00000a70| 70 72 69 6e 74 66 28 22 | 4e 61 6d 65 3a 20 25 73 |printf("|Name: %s|
|00000a80| 5c 6e 22 2c 20 63 70 29 | 3b 0a 58 20 20 20 20 20 |\n", cp)|;.X |
|00000a90| 20 2a 62 75 66 20 3d 20 | 27 5c 30 27 3b 0a 58 2d | *buf = |'\0';.X-|
|00000aa0| 2d 2d 20 36 38 31 2c 36 | 39 33 20 2d 2d 2d 2d 0a |-- 681,6|93 ----.|
|00000ab0| 58 20 20 20 20 20 20 2a | 62 75 66 20 3d 20 27 2e |X *|buf = '.|
|00000ac0| 27 3b 09 2f 2a 20 74 68 | 69 73 20 69 73 20 61 20 |';./* th|is is a |
|00000ad0| 66 75 6c 6c 79 20 71 75 | 61 6c 69 66 69 65 64 20 |fully qu|alified |
|00000ae0| 6e 61 6d 65 20 2a 2f 0a | 58 20 20 20 20 20 20 73 |name */.|X s|
|00000af0| 75 62 74 72 65 65 20 3d | 20 67 65 74 5f 73 79 6d |ubtree =| get_sym|
|00000b00| 62 6f 6c 28 6f 62 6a 69 | 64 2c 20 6f 62 6a 69 64 |bol(obji|d, objid|
|00000b10| 6c 65 6e 2c 20 73 75 62 | 74 72 65 65 2c 20 62 75 |len, sub|tree, bu|
|00000b20| 66 20 2b 20 31 29 3b 0a | 58 20 20 20 20 20 20 63 |f + 1);.|X c|
|00000b30| 70 20 3d 20 62 75 66 3b | 0a 58 21 20 20 20 20 20 |p = buf;|.X! |
|00000b40| 69 66 20 28 28 73 74 72 | 6c 65 6e 28 62 75 66 29 |if ((str|len(buf)|
|00000b50| 20 3e 3d 20 52 46 43 31 | 31 35 38 5f 4d 49 42 5f | >= RFC1|158_MIB_|
|00000b60| 74 65 78 74 5f 6c 65 6e | 29 0a 58 21 20 09 26 26 |text_len|).X! .&&|
|00000b70| 20 21 62 63 6d 70 28 62 | 75 66 2c 20 28 63 68 61 | !bcmp(b|uf, (cha|
|00000b80| 72 20 2a 29 52 46 43 31 | 31 35 38 5f 4d 49 42 5f |r *)RFC1|158_MIB_|
|00000b90| 74 65 78 74 2c 20 52 46 | 43 31 31 35 38 5f 4d 49 |text, RF|C1158_MI|
|00000ba0| 42 5f 74 65 78 74 5f 6c | 65 6e 29 29 7b 0a 58 21 |B_text_l|en)){.X!|
|00000bb0| 20 09 20 20 20 20 63 70 | 20 2b 3d 20 52 46 43 31 | . cp| += RFC1|
|00000bc0| 31 35 38 5f 4d 49 42 5f | 74 65 78 74 5f 6c 65 6e |158_MIB_|text_len|
|00000bd0| 2b 31 3b 0a 58 21 20 20 | 20 20 20 7d 0a 58 21 20 |+1;.X! | }.X! |
|00000be0| 20 20 20 20 65 6c 73 65 | 20 69 66 20 28 28 73 74 | else| if ((st|
|00000bf0| 72 6c 65 6e 28 62 75 66 | 29 20 3e 3d 20 52 46 43 |rlen(buf|) >= RFC|
|00000c00| 31 30 36 36 5f 4d 49 42 | 5f 74 65 78 74 5f 6c 65 |1066_MIB|_text_le|
|00000c10| 6e 29 0a 58 21 20 09 26 | 26 20 21 62 63 6d 70 28 |n).X! .&|& !bcmp(|
|00000c20| 62 75 66 2c 20 28 63 68 | 61 72 20 2a 29 52 46 43 |buf, (ch|ar *)RFC|
|00000c30| 31 30 36 36 5f 4d 49 42 | 5f 74 65 78 74 2c 20 52 |1066_MIB|_text, R|
|00000c40| 46 43 31 30 36 36 5f 4d | 49 42 5f 74 65 78 74 5f |FC1066_M|IB_text_|
|00000c50| 6c 65 6e 29 29 7b 0a 58 | 21 20 09 20 20 20 20 63 |len)){.X|! . c|
|00000c60| 70 20 2b 3d 20 52 46 43 | 31 30 36 36 5f 4d 49 42 |p += RFC|1066_MIB|
|00000c70| 5f 74 65 78 74 5f 6c 65 | 6e 2b 31 3b 0a 58 20 20 |_text_le|n+1;.X |
|00000c80| 20 20 20 20 7d 0a 58 20 | 20 20 20 20 20 70 72 69 | }.X | pri|
|00000c90| 6e 74 66 28 22 4e 61 6d | 65 3a 20 25 73 5c 6e 22 |ntf("Nam|e: %s\n"|
|00000ca0| 2c 20 63 70 29 3b 0a 58 | 20 20 20 20 20 20 2a 62 |, cp);.X| *b|
|00000cb0| 75 66 20 3d 20 27 5c 30 | 27 3b 0a 45 4e 44 5f 4f |uf = '\0|';.END_O|
|00000cc0| 46 5f 6d 69 62 2e 63 2e | 64 69 66 66 0a 69 66 20 |F_mib.c.|diff.if |
|00000cd0| 74 65 73 74 20 32 30 30 | 39 20 2d 6e 65 20 60 77 |test 200|9 -ne `w|
|00000ce0| 63 20 2d 63 20 3c 6d 69 | 62 2e 63 2e 64 69 66 66 |c -c <mi|b.c.diff|
|00000cf0| 60 3b 20 74 68 65 6e 0a | 20 20 20 20 65 63 68 6f |`; then.| echo|
|00000d00| 20 73 68 61 72 3a 20 5c | 22 6d 69 62 2e 63 2e 64 | shar: \|"mib.c.d|
|00000d10| 69 66 66 5c 22 20 75 6e | 70 61 63 6b 65 64 20 77 |iff\" un|packed w|
|00000d20| 69 74 68 20 77 72 6f 6e | 67 20 73 69 7a 65 21 0a |ith wron|g size!.|
|00000d30| 66 69 0a 23 20 65 6e 64 | 20 6f 66 20 6f 76 65 72 |fi.# end| of over|
|00000d40| 77 72 69 74 69 6e 67 20 | 63 68 65 63 6b 0a 66 69 |writing |check.fi|
|00000d50| 0a 69 66 20 74 65 73 74 | 20 2d 66 20 70 61 72 73 |.if test| -f pars|
|00000d60| 65 2e 63 2e 64 69 66 66 | 20 2d 61 20 22 24 7b 31 |e.c.diff| -a "${1|
|00000d70| 7d 22 20 21 3d 20 22 2d | 63 22 20 3b 20 74 68 65 |}" != "-|c" ; the|
|00000d80| 6e 20 0a 20 20 65 63 68 | 6f 20 73 68 61 72 3a 20 |n . ech|o shar: |
|00000d90| 57 69 6c 6c 20 6e 6f 74 | 20 6f 76 65 72 2d 77 72 |Will not| over-wr|
|00000da0| 69 74 65 20 65 78 69 73 | 74 69 6e 67 20 66 69 6c |ite exis|ting fil|
|00000db0| 65 20 5c 22 70 61 72 73 | 65 2e 63 2e 64 69 66 66 |e \"pars|e.c.diff|
|00000dc0| 5c 22 0a 65 6c 73 65 0a | 65 63 68 6f 20 73 68 61 |\".else.|echo sha|
|00000dd0| 72 3a 20 45 78 74 72 61 | 63 74 69 6e 67 20 5c 22 |r: Extra|cting \"|
|00000de0| 70 61 72 73 65 2e 63 2e | 64 69 66 66 5c 22 20 5c |parse.c.|diff\" \|
|00000df0| 28 38 31 30 39 20 63 68 | 61 72 61 63 74 65 72 73 |(8109 ch|aracters|
|00000e00| 5c 29 0a 73 65 64 20 22 | 73 2f 5e 58 2f 2f 22 20 |\).sed "|s/^X//" |
|00000e10| 3e 70 61 72 73 65 2e 63 | 2e 64 69 66 66 20 3c 3c |>parse.c|.diff <<|
|00000e20| 27 45 4e 44 5f 4f 46 5f | 70 61 72 73 65 2e 63 2e |'END_OF_|parse.c.|
|00000e30| 64 69 66 66 27 0a 58 3d | 3d 3d 3d 3d 3d 3d 3d 3d |diff'.X=|========|
|00000e40| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000e50| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000e60| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000e70| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 0a 58 52 43 53 20 |========|==.XRCS |
|00000e80| 66 69 6c 65 3a 20 2f 73 | 2f 75 73 72 32 2f 4b 2f |file: /s|/usr2/K/|
|00000e90| 72 65 70 6f 2f 74 6f 6f | 6c 73 2f 63 6d 75 2d 73 |repo/too|ls/cmu-s|
|00000ea0| 6e 6d 70 2f 73 6e 6d 70 | 6c 69 62 2f 70 61 72 73 |nmp/snmp|lib/pars|
|00000eb0| 65 2e 63 2c 76 0a 58 72 | 65 74 72 69 65 76 69 6e |e.c,v.Xr|etrievin|
|00000ec0| 67 20 72 65 76 69 73 69 | 6f 6e 20 31 2e 31 0a 58 |g revisi|on 1.1.X|
|00000ed0| 64 69 66 66 20 2d 63 20 | 2d 72 31 2e 31 20 70 61 |diff -c |-r1.1 pa|
|00000ee0| 72 73 65 2e 63 0a 58 2a | 2a 2a 20 2f 74 6d 70 2f |rse.c.X*|** /tmp/|
|00000ef0| 2c 52 43 53 74 31 61 32 | 32 33 34 30 09 54 75 65 |,RCSt1a2|2340.Tue|
|00000f00| 20 53 65 70 20 32 34 20 | 32 30 3a 32 32 3a 35 39 | Sep 24 |20:22:59|
|00000f10| 20 31 39 39 31 0a 58 2d | 2d 2d 20 70 61 72 73 65 | 1991.X-|-- parse|
|00000f20| 2e 63 09 54 68 75 20 53 | 65 70 20 31 39 20 30 36 |.c.Thu S|ep 19 06|
|00000f30| 3a 31 38 3a 31 35 20 31 | 39 39 31 0a 58 2a 2a 2a |:18:15 1|991.X***|
|00000f40| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 0a 58 2a 2a |********|****.X**|
|00000f50| 2a 20 31 2c 33 20 2a 2a | 2a 2a 0a 58 2d 2d 2d 20 |* 1,3 **|**.X--- |
|00000f60| 31 2c 34 20 2d 2d 2d 2d | 0a 58 2b 20 2f 2a 20 24 |1,4 ----|.X+ /* $|
|00000f70| 49 64 3a 20 70 61 72 73 | 65 2e 63 2c 76 20 31 2e |Id: pars|e.c,v 1.|
|00000f80| 33 20 39 31 2f 30 39 2f | 31 39 20 30 36 3a 31 38 |3 91/09/|19 06:18|
|00000f90| 3a 33 33 20 70 68 69 6c | 20 45 78 70 20 24 09 2a |:33 phil| Exp $.*|
|00000fa0| 2f 0a 58 20 20 2f 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |/.X /**|********|
|00000fb0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000fc0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000fd0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000fe0| 2a 0a 58 20 20 09 43 6f | 70 79 72 69 67 68 74 20 |*.X .Co|pyright |
|00000ff0| 31 39 38 39 20 62 79 20 | 43 61 72 6e 65 67 69 65 |1989 by |Carnegie|
|00001000| 20 4d 65 6c 6c 6f 6e 20 | 55 6e 69 76 65 72 73 69 | Mellon |Universi|
|00001010| 74 79 0a 58 20 20 0a 58 | 2a 2a 2a 2a 2a 2a 2a 2a |ty.X .X|********|
|00001020| 2a 2a 2a 2a 2a 2a 2a 0a | 58 2a 2a 2a 20 36 39 2c |*******.|X*** 69,|
|00001030| 37 34 20 2a 2a 2a 2a 0a | 58 2d 2d 2d 20 37 30 2c |74 ****.|X--- 70,|
|00001040| 38 30 20 2d 2d 2d 2d 0a | 58 20 20 23 64 65 66 69 |80 ----.|X #defi|
|00001050| 6e 65 20 52 45 43 4f 4d | 4d 45 4e 44 45 44 20 32 |ne RECOM|MENDED 2|
|00001060| 36 0a 58 20 20 23 64 65 | 66 69 6e 65 20 50 55 4e |6.X #de|fine PUN|
|00001070| 43 54 09 20 20 20 20 32 | 37 0a 58 20 20 23 64 65 |CT. 2|7.X #de|
|00001080| 66 69 6e 65 20 45 51 55 | 41 4c 53 09 20 20 20 20 |fine EQU|ALS. |
|00001090| 32 38 0a 58 2b 20 23 64 | 65 66 69 6e 65 20 44 45 |28.X+ #d|efine DE|
|000010a0| 53 43 52 49 50 54 49 4f | 4e 20 32 39 0a 58 2b 20 |SCRIPTIO|N 29.X+ |
|000010b0| 23 64 65 66 69 6e 65 20 | 51 55 4f 54 45 53 54 52 |#define |QUOTESTR|
|000010c0| 49 4e 47 20 33 30 0a 58 | 2b 20 23 64 65 66 69 6e |ING 30.X|+ #defin|
|000010d0| 65 20 49 4e 44 45 58 09 | 20 20 20 20 33 31 0a 58 |e INDEX.| 31.X|
|000010e0| 2b 20 23 64 65 66 69 6e | 65 20 44 45 46 56 41 4c |+ #defin|e DEFVAL|
|000010f0| 09 20 20 20 20 33 32 0a | 58 2b 20 23 64 65 66 69 |. 32.|X+ #defi|
|00001100| 6e 65 20 44 45 50 52 45 | 43 41 54 45 44 20 20 33 |ne DEPRE|CATED 3|
|00001110| 33 0a 58 20 20 0a 58 20 | 20 73 74 72 75 63 74 20 |3.X .X | struct |
|00001120| 74 6f 6b 20 7b 0a 58 20 | 20 09 63 68 61 72 20 2a |tok {.X | .char *|
|00001130| 6e 61 6d 65 3b 09 09 09 | 2f 2a 20 74 6f 6b 65 6e |name;...|/* token|
|00001140| 20 6e 61 6d 65 20 2a 2f | 0a 58 2a 2a 2a 2a 2a 2a | name */|.X******|
|00001150| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 0a 58 2a 2a 2a 20 31 |********|*.X*** 1|
|00001160| 31 33 2c 31 32 31 20 2a | 2a 2a 2a 0a 58 2d 2d 2d |13,121 *|***.X---|
|00001170| 20 31 31 39 2c 31 33 32 | 20 2d 2d 2d 2d 0a 58 20 | 119,132| ----.X |
|00001180| 20 09 7b 20 22 7b 22 2c | 20 73 69 7a 65 6f 66 20 | .{ "{",| sizeof |
|00001190| 28 22 7b 22 29 2d 31 2c | 20 50 55 4e 43 54 20 7d |("{")-1,| PUNCT }|
|000011a0| 2c 0a 58 20 20 09 7b 20 | 22 7d 22 2c 20 73 69 7a |,.X .{ |"}", siz|
|000011b0| 65 6f 66 20 28 22 7d 22 | 29 2d 31 2c 20 50 55 4e |eof ("}"|)-1, PUN|
|000011c0| 43 54 20 7d 2c 0a 58 20 | 20 09 7b 20 22 3a 3a 3d |CT },.X | .{ "::=|
|000011d0| 22 2c 20 73 69 7a 65 6f | 66 20 28 22 3a 3a 3d 22 |", sizeo|f ("::="|
|000011e0| 29 2d 31 2c 20 45 51 55 | 41 4c 53 20 7d 2c 0a 58 |)-1, EQU|ALS },.X|
|000011f0| 2b 20 20 20 20 20 20 20 | 20 20 7b 20 22 44 45 53 |+ | { "DES|
|00001200| 43 52 49 50 54 49 4f 4e | 22 2c 20 73 69 7a 65 6f |CRIPTION|", sizeo|
|00001210| 66 20 28 22 44 45 53 43 | 52 49 50 54 49 4f 4e 22 |f ("DESC|RIPTION"|
|00001220| 29 2d 31 2c 20 44 45 53 | 43 52 49 50 54 49 4f 4e |)-1, DES|CRIPTION|
|00001230| 20 7d 2c 0a 58 2b 20 20 | 20 20 20 20 20 20 20 7b | },.X+ | {|
|00001240| 20 22 49 4e 44 45 58 22 | 2c 20 73 69 7a 65 6f 66 | "INDEX"|, sizeof|
|00001250| 20 28 22 49 4e 44 45 58 | 22 29 2d 31 2c 20 49 4e | ("INDEX|")-1, IN|
|00001260| 44 45 58 20 7d 2c 0a 58 | 2b 20 20 20 20 20 20 20 |DEX },.X|+ |
|00001270| 20 20 7b 20 22 44 45 46 | 56 41 4c 22 2c 20 73 69 | { "DEF|VAL", si|
|00001280| 7a 65 6f 66 20 28 22 44 | 45 46 56 41 4c 22 29 2d |zeof ("D|EFVAL")-|
|00001290| 31 2c 20 44 45 46 56 41 | 4c 20 7d 2c 0a 58 2b 20 |1, DEFVA|L },.X+ |
|000012a0| 09 7b 20 22 64 65 70 72 | 65 63 61 74 65 64 22 2c |.{ "depr|ecated",|
|000012b0| 20 73 69 7a 65 6f 66 20 | 28 22 64 65 70 72 65 63 | sizeof |("deprec|
|000012c0| 61 74 65 64 22 29 2d 31 | 2c 20 44 45 50 52 45 43 |ated")-1|, DEPREC|
|000012d0| 41 54 45 44 20 7d 2c 0a | 58 20 20 09 7b 20 4e 55 |ATED },.|X .{ NU|
|000012e0| 4c 4c 20 7d 0a 58 20 20 | 7d 3b 0a 58 20 20 0a 58 |LL }.X |};.X .X|
|000012f0| 2b 20 0a 58 20 20 23 64 | 65 66 69 6e 65 09 48 41 |+ .X #d|efine.HA|
|00001300| 53 48 53 49 5a 45 09 33 | 32 0a 58 20 20 23 64 65 |SHSIZE.3|2.X #de|
|00001310| 66 69 6e 65 09 42 55 43 | 4b 45 54 28 78 29 09 28 |fine.BUC|KET(x).(|
|00001320| 78 20 26 20 30 78 30 31 | 46 29 0a 58 20 20 0a 58 |x & 0x01|F).X .X|
|00001330| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 0a |********|*******.|
|00001340| 58 2a 2a 2a 20 33 34 31 | 2c 33 34 37 20 2a 2a 2a |X*** 341|,347 ***|
|00001350| 2a 0a 58 20 20 7b 0a 58 | 20 20 20 20 20 20 72 65 |*.X {.X| re|
|00001360| 67 69 73 74 65 72 20 69 | 6e 74 20 63 6f 75 6e 74 |gister i|nt count|
|00001370| 3b 0a 58 20 20 20 20 20 | 20 69 6e 74 20 74 79 70 |;.X | int typ|
|00001380| 65 3b 0a 58 21 20 20 20 | 20 20 63 68 61 72 20 74 |e;.X! | char t|
|00001390| 6f 6b 65 6e 5b 36 34 5d | 2c 20 6c 61 62 65 6c 5b |oken[64]|, label[|
|000013a0| 33 32 5d 3b 0a 58 20 20 | 20 20 20 20 72 65 67 69 |32];.X | regi|
|000013b0| 73 74 65 72 20 63 68 61 | 72 20 2a 63 70 2c 20 2a |ster cha|r *cp, *|
|000013c0| 74 70 3b 0a 58 20 20 0a | 58 20 20 20 20 20 20 69 |tp;.X .|X i|
|000013d0| 66 20 28 28 74 79 70 65 | 20 3d 20 67 65 74 5f 74 |f ((type| = get_t|
|000013e0| 6f 6b 65 6e 28 66 70 2c | 20 74 6f 6b 65 6e 29 29 |oken(fp,| token))|
|000013f0| 20 21 3d 20 50 55 4e 43 | 54 29 7b 0a 58 2d 2d 2d | != PUNC|T){.X---|
|00001400| 20 33 35 32 2c 33 35 38 | 20 2d 2d 2d 2d 0a 58 20 | 352,358| ----.X |
|00001410| 20 7b 0a 58 20 20 20 20 | 20 20 72 65 67 69 73 74 | {.X | regist|
|00001420| 65 72 20 69 6e 74 20 63 | 6f 75 6e 74 3b 0a 58 20 |er int c|ount;.X |
|00001430| 20 20 20 20 20 69 6e 74 | 20 74 79 70 65 3b 0a 58 | int| type;.X|
|00001440| 21 20 20 20 20 20 63 68 | 61 72 20 74 6f 6b 65 6e |! ch|ar token|
|00001450| 5b 4d 41 58 54 4f 4b 45 | 4e 5d 2c 20 6c 61 62 65 |[MAXTOKE|N], labe|
|00001460| 6c 5b 4d 41 58 4c 41 42 | 45 4c 5d 3b 0a 58 20 20 |l[MAXLAB|EL];.X |
|00001470| 20 20 20 20 72 65 67 69 | 73 74 65 72 20 63 68 61 | regi|ster cha|
|00001480| 72 20 2a 63 70 2c 20 2a | 74 70 3b 0a 58 20 20 0a |r *cp, *|tp;.X .|
|00001490| 58 20 20 20 20 20 20 69 | 66 20 28 28 74 79 70 65 |X i|f ((type|
|000014a0| 20 3d 20 67 65 74 5f 74 | 6f 6b 65 6e 28 66 70 2c | = get_t|oken(fp,|
|000014b0| 20 74 6f 6b 65 6e 29 29 | 20 21 3d 20 50 55 4e 43 | token))| != PUNC|
|000014c0| 54 29 7b 0a 58 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |T){.X***|********|
|000014d0| 2a 2a 2a 2a 0a 58 2a 2a | 2a 20 34 33 30 2c 34 33 |****.X**|* 430,43|
|000014e0| 36 20 2a 2a 2a 2a 0a 58 | 20 20 20 20 20 20 63 68 |6 ****.X| ch|
|000014f0| 61 72 20 2a 6e 61 6d 65 | 3b 0a 58 20 20 7b 0a 58 |ar *name|;.X {.X|
|00001500| 20 20 20 20 20 20 69 6e | 74 20 74 79 70 65 3b 0a | in|t type;.|
|00001510| 58 21 20 20 20 20 20 63 | 68 61 72 20 74 6f 6b 65 |X! c|har toke|
|00001520| 6e 5b 36 34 5d 3b 0a 58 | 20 20 20 20 20 20 72 65 |n[64];.X| re|
|00001530| 67 69 73 74 65 72 20 69 | 6e 74 20 63 6f 75 6e 74 |gister i|nt count|
|00001540| 3b 0a 58 20 20 20 20 20 | 20 72 65 67 69 73 74 65 |;.X | registe|
|00001550| 72 20 73 74 72 75 63 74 | 20 73 75 62 69 64 20 2a |r struct| subid *|
|00001560| 6f 70 2c 20 2a 6e 6f 70 | 3b 0a 58 20 20 20 20 20 |op, *nop|;.X |
|00001570| 20 69 6e 74 20 6c 65 6e | 67 74 68 3b 0a 58 2d 2d | int len|gth;.X--|
|00001580| 2d 20 34 34 31 2c 34 34 | 37 20 2d 2d 2d 2d 0a 58 |- 441,44|7 ----.X|
|00001590| 20 20 20 20 20 20 63 68 | 61 72 20 2a 6e 61 6d 65 | ch|ar *name|
|000015a0| 3b 0a 58 20 20 7b 0a 58 | 20 20 20 20 20 20 69 6e |;.X {.X| in|
|000015b0| 74 20 74 79 70 65 3b 0a | 58 21 20 20 20 20 20 63 |t type;.|X! c|
|000015c0| 68 61 72 20 74 6f 6b 65 | 6e 5b 4d 41 58 54 4f 4b |har toke|n[MAXTOK|
|000015d0| 45 4e 5d 3b 0a 58 20 20 | 20 20 20 20 72 65 67 69 |EN];.X | regi|
|000015e0| 73 74 65 72 20 69 6e 74 | 20 63 6f 75 6e 74 3b 0a |ster int| count;.|
|000015f0| 58 20 20 20 20 20 20 72 | 65 67 69 73 74 65 72 20 |X r|egister |
|00001600| 73 74 72 75 63 74 20 73 | 75 62 69 64 20 2a 6f 70 |struct s|ubid *op|
|00001610| 2c 20 2a 6e 6f 70 3b 0a | 58 20 20 20 20 20 20 69 |, *nop;.|X i|
|00001620| 6e 74 20 6c 65 6e 67 74 | 68 3b 0a 58 2a 2a 2a 2a |nt lengt|h;.X****|
|00001630| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 0a 58 2a 2a 2a |********|***.X***|
|00001640| 20 35 31 36 2c 35 32 36 | 20 2a 2a 2a 2a 0a 58 20 | 516,526| ****.X |
|00001650| 20 20 20 20 20 46 49 4c | 45 20 2a 66 70 3b 0a 58 | FIL|E *fp;.X|
|00001660| 20 20 7b 0a 58 20 20 20 | 20 20 20 69 6e 74 20 74 | {.X | int t|
|00001670| 79 70 65 3b 0a 58 21 20 | 20 20 20 20 63 68 61 72 |ype;.X! | char|
|00001680| 20 74 6f 6b 65 6e 5b 36 | 34 5d 3b 0a 58 20 20 0a | token[6|4];.X .|
|00001690| 58 20 20 20 20 20 20 74 | 79 70 65 20 3d 20 67 65 |X t|ype = ge|
|000016a0| 74 5f 74 6f 6b 65 6e 28 | 66 70 2c 20 74 6f 6b 65 |t_token(|fp, toke|
|000016b0| 6e 29 3b 0a 58 20 20 20 | 20 20 20 69 66 20 28 74 |n);.X | if (t|
|000016c0| 79 70 65 20 21 3d 20 53 | 45 51 55 45 4e 43 45 29 |ype != S|EQUENCE)|
|000016d0| 7b 0a 58 21 20 09 70 72 | 69 6e 74 5f 65 72 72 6f |{.X! .pr|int_erro|
|000016e0| 72 28 22 4e 6f 74 20 61 | 20 73 65 71 75 65 6e 63 |r("Not a| sequenc|
|000016f0| 65 22 2c 20 28 63 68 61 | 72 20 2a 29 4e 55 4c 4c |e", (cha|r *)NULL|
|00001700| 29 3b 20 2f 2a 20 73 68 | 6f 75 6c 64 20 77 65 20 |); /* sh|ould we |
|00001710| 68 61 6e 64 6c 65 20 74 | 68 69 73 20 2a 2f 0a 58 |handle t|his */.X|
|00001720| 20 20 09 72 65 74 75 72 | 6e 20 4e 55 4c 4c 3b 0a | .retur|n NULL;.|
|00001730| 58 20 20 20 20 20 20 7d | 0a 58 20 20 20 20 20 20 |X }|.X |
|00001740| 77 68 69 6c 65 28 28 74 | 79 70 65 20 3d 20 67 65 |while((t|ype = ge|
|00001750| 74 5f 74 6f 6b 65 6e 28 | 66 70 2c 20 74 6f 6b 65 |t_token(|fp, toke|
|00001760| 6e 29 29 20 21 3d 20 4e | 55 4c 4c 29 7b 0a 58 2d |n)) != N|ULL){.X-|
|00001770| 2d 2d 20 35 32 37 2c 35 | 33 37 20 2d 2d 2d 2d 0a |-- 527,5|37 ----.|
|00001780| 58 20 20 20 20 20 20 46 | 49 4c 45 20 2a 66 70 3b |X F|ILE *fp;|
|00001790| 0a 58 20 20 7b 0a 58 20 | 20 20 20 20 20 69 6e 74 |.X {.X | int|
|000017a0| 20 74 79 70 65 3b 0a 58 | 21 20 20 20 20 20 63 68 | type;.X|! ch|
|000017b0| 61 72 20 74 6f 6b 65 6e | 5b 4d 41 58 54 4f 4b 45 |ar token|[MAXTOKE|
|000017c0| 4e 5d 3b 0a 58 20 20 0a | 58 20 20 20 20 20 20 74 |N];.X .|X t|
|000017d0| 79 70 65 20 3d 20 67 65 | 74 5f 74 6f 6b 65 6e 28 |ype = ge|t_token(|
|000017e0| 66 70 2c 20 74 6f 6b 65 | 6e 29 3b 0a 58 20 20 20 |fp, toke|n);.X |
|000017f0| 20 20 20 69 66 20 28 74 | 79 70 65 20 21 3d 20 53 | if (t|ype != S|
|00001800| 45 51 55 45 4e 43 45 29 | 7b 0a 58 21 20 09 74 79 |EQUENCE)|{.X! .ty|
|00001810| 70 65 20 3d 20 67 65 74 | 5f 74 6f 6b 65 6e 28 66 |pe = get|_token(f|
|00001820| 70 2c 20 74 6f 6b 65 6e | 29 3b 0a 58 20 20 09 72 |p, token|);.X .r|
|00001830| 65 74 75 72 6e 20 4e 55 | 4c 4c 3b 0a 58 20 20 20 |eturn NU|LL;.X |
|00001840| 20 20 20 7d 0a 58 20 20 | 20 20 20 20 77 68 69 6c | }.X | whil|
|00001850| 65 28 28 74 79 70 65 20 | 3d 20 67 65 74 5f 74 6f |e((type |= get_to|
|00001860| 6b 65 6e 28 66 70 2c 20 | 74 6f 6b 65 6e 29 29 20 |ken(fp, |token)) |
|00001870| 21 3d 20 4e 55 4c 4c 29 | 7b 0a 58 2a 2a 2a 2a 2a |!= NULL)|{.X*****|
|00001880| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 0a 58 2a 2a 2a 20 |********|**.X*** |
|00001890| 35 34 33 2c 35 35 34 20 | 2a 2a 2a 2a 0a 58 20 20 |543,554 |****.X |
|000018a0| 20 20 20 20 63 68 61 72 | 20 2a 6e 61 6d 65 3b 0a | char| *name;.|
|000018b0| 58 20 20 7b 0a 58 20 20 | 20 20 20 20 72 65 67 69 |X {.X | regi|
|000018c0| 73 74 65 72 20 69 6e 74 | 20 74 79 70 65 3b 0a 58 |ster int| type;.X|
|000018d0| 21 20 20 20 20 20 63 68 | 61 72 20 74 6f 6b 65 6e |! ch|ar token|
|000018e0| 5b 36 34 5d 3b 0a 58 20 | 20 20 20 20 20 69 6e 74 |[64];.X | int|
|000018f0| 20 63 6f 75 6e 74 2c 20 | 6c 65 6e 67 74 68 3b 0a | count, |length;.|
|00001900| 58 20 20 20 20 20 20 73 | 74 72 75 63 74 20 73 75 |X s|truct su|
|00001910| 62 69 64 20 6f 69 64 5b | 31 36 5d 3b 0a 58 21 20 |bid oid[|16];.X! |
|00001920| 20 20 20 20 63 68 61 72 | 20 73 79 6e 74 61 78 5b | char| syntax[|
|00001930| 33 32 5d 3b 0a 58 20 20 | 20 20 20 20 69 6e 74 20 |32];.X | int |
|00001940| 6e 65 78 74 74 79 70 65 | 3b 0a 58 21 20 20 20 20 |nexttype|;.X! |
|00001950| 20 63 68 61 72 20 6e 65 | 78 74 74 6f 6b 65 6e 5b | char ne|xttoken[|
|00001960| 36 34 5d 3b 0a 58 20 20 | 20 20 20 20 72 65 67 69 |64];.X | regi|
|00001970| 73 74 65 72 20 73 74 72 | 75 63 74 20 6e 6f 64 65 |ster str|uct node|
|00001980| 20 2a 6e 70 3b 0a 58 20 | 20 20 20 20 20 72 65 67 | *np;.X | reg|
|00001990| 69 73 74 65 72 20 73 74 | 72 75 63 74 20 65 6e 75 |ister st|ruct enu|
|000019a0| 6d 5f 6c 69 73 74 20 2a | 65 70 3b 0a 58 20 20 20 |m_list *|ep;.X |
|000019b0| 20 20 20 72 65 67 69 73 | 74 65 72 20 63 68 61 72 | regis|ter char|
|000019c0| 20 2a 63 70 3b 0a 58 2d | 2d 2d 20 35 35 34 2c 35 | *cp;.X-|-- 554,5|
|000019d0| 36 35 20 2d 2d 2d 2d 0a | 58 20 20 20 20 20 20 63 |65 ----.|X c|
|000019e0| 68 61 72 20 2a 6e 61 6d | 65 3b 0a 58 20 20 7b 0a |har *nam|e;.X {.|
|000019f0| 58 20 20 20 20 20 20 72 | 65 67 69 73 74 65 72 20 |X r|egister |
|00001a00| 69 6e 74 20 74 79 70 65 | 3b 0a 58 21 20 20 20 20 |int type|;.X! |
|00001a10| 20 63 68 61 72 20 74 6f | 6b 65 6e 5b 4d 41 58 54 | char to|ken[MAXT|
|00001a20| 4f 4b 45 4e 5d 3b 0a 58 | 20 20 20 20 20 20 69 6e |OKEN];.X| in|
|00001a30| 74 20 63 6f 75 6e 74 2c | 20 6c 65 6e 67 74 68 3b |t count,| length;|
|00001a40| 0a 58 20 20 20 20 20 20 | 73 74 72 75 63 74 20 73 |.X |struct s|
|00001a50| 75 62 69 64 20 6f 69 64 | 5b 31 36 5d 3b 0a 58 21 |ubid oid|[16];.X!|
|00001a60| 20 20 20 20 20 63 68 61 | 72 20 73 79 6e 74 61 78 | cha|r syntax|
|00001a70| 5b 4d 41 58 54 4f 4b 45 | 4e 5d 3b 0a 58 20 20 20 |[MAXTOKE|N];.X |
|00001a80| 20 20 20 69 6e 74 20 6e | 65 78 74 74 79 70 65 3b | int n|exttype;|
|00001a90| 0a 58 21 20 20 20 20 20 | 63 68 61 72 20 6e 65 78 |.X! |char nex|
|00001aa0| 74 74 6f 6b 65 6e 5b 4d | 41 58 54 4f 4b 45 4e 5d |ttoken[M|AXTOKEN]|
|00001ab0| 3b 0a 58 20 20 20 20 20 | 20 72 65 67 69 73 74 65 |;.X | registe|
|00001ac0| 72 20 73 74 72 75 63 74 | 20 6e 6f 64 65 20 2a 6e |r struct| node *n|
|00001ad0| 70 3b 0a 58 20 20 20 20 | 20 20 72 65 67 69 73 74 |p;.X | regist|
|00001ae0| 65 72 20 73 74 72 75 63 | 74 20 65 6e 75 6d 5f 6c |er struc|t enum_l|
|00001af0| 69 73 74 20 2a 65 70 3b | 0a 58 20 20 20 20 20 20 |ist *ep;|.X |
|00001b00| 72 65 67 69 73 74 65 72 | 20 63 68 61 72 20 2a 63 |register| char *c|
|00001b10| 70 3b 0a 58 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |p;.X****|********|
|00001b20| 2a 2a 2a 0a 58 2a 2a 2a | 20 37 30 36 2c 37 31 37 |***.X***| 706,717|
|00001b30| 20 2a 2a 2a 2a 0a 58 20 | 20 09 72 65 74 75 72 6e | ****.X | .return|
|00001b40| 20 30 3b 0a 58 20 20 20 | 20 20 20 7d 0a 58 20 20 | 0;.X | }.X |
|00001b50| 20 20 20 20 74 79 70 65 | 20 3d 20 67 65 74 5f 74 | type| = get_t|
|00001b60| 6f 6b 65 6e 28 66 70 2c | 20 74 6f 6b 65 6e 29 3b |oken(fp,| token);|
|00001b70| 0a 58 21 20 20 20 20 20 | 69 66 20 28 74 79 70 65 |.X! |if (type|
|00001b80| 20 21 3d 20 4d 41 4e 44 | 41 54 4f 52 59 20 26 26 | != MAND|ATORY &&|
|00001b90| 20 74 79 70 65 20 21 3d | 20 4f 50 54 49 4f 4e 41 | type !=| OPTIONA|
|00001ba0| 4c 20 26 26 20 74 79 70 | 65 20 21 3d 20 4f 42 53 |L && typ|e != OBS|
|00001bb0| 4f 4c 45 54 45 20 26 26 | 20 74 79 70 65 20 21 3d |OLETE &&| type !=|
|00001bc0| 20 52 45 43 4f 4d 4d 45 | 4e 44 45 44 29 7b 0a 58 | RECOMME|NDED){.X|
|00001bd0| 20 20 09 70 72 69 6e 74 | 5f 65 72 72 6f 72 28 22 | .print|_error("|
|00001be0| 42 61 64 20 73 74 61 74 | 75 73 22 2c 20 74 6f 6b |Bad stat|us", tok|
|00001bf0| 65 6e 29 3b 0a 58 20 20 | 09 66 72 65 65 5f 6e 6f |en);.X |.free_no|
|00001c00| 64 65 28 6e 70 29 3b 0a | 58 20 20 09 72 65 74 75 |de(np);.|X .retu|
|00001c10| 72 6e 20 30 3b 0a 58 20 | 20 20 20 20 20 7d 0a 58 |rn 0;.X | }.X|
|00001c20| 20 20 20 20 20 20 74 79 | 70 65 20 3d 20 67 65 74 | ty|pe = get|
|00001c30| 5f 74 6f 6b 65 6e 28 66 | 70 2c 20 74 6f 6b 65 6e |_token(f|p, token|
|00001c40| 29 3b 0a 58 20 20 20 20 | 20 20 69 66 20 28 74 79 |);.X | if (ty|
|00001c50| 70 65 20 21 3d 20 45 51 | 55 41 4c 53 29 7b 0a 58 |pe != EQ|UALS){.X|
|00001c60| 20 20 09 70 72 69 6e 74 | 5f 65 72 72 6f 72 28 22 | .print|_error("|
|00001c70| 42 61 64 20 66 6f 72 6d | 61 74 22 2c 20 74 6f 6b |Bad form|at", tok|
|00001c80| 65 6e 29 3b 0a 58 20 20 | 09 66 72 65 65 5f 6e 6f |en);.X |.free_no|
|00001c90| 64 65 28 6e 70 29 3b 0a | 58 2d 2d 2d 20 37 31 37 |de(np);.|X--- 717|
|00001ca0| 2c 37 36 30 20 2d 2d 2d | 2d 0a 58 20 20 09 72 65 |,760 ---|-.X .re|
|00001cb0| 74 75 72 6e 20 30 3b 0a | 58 20 20 20 20 20 20 7d |turn 0;.|X }|
|00001cc0| 0a 58 20 20 20 20 20 20 | 74 79 70 65 20 3d 20 67 |.X |type = g|
|00001cd0| 65 74 5f 74 6f 6b 65 6e | 28 66 70 2c 20 74 6f 6b |et_token|(fp, tok|
|00001ce0| 65 6e 29 3b 0a 58 21 20 | 20 20 20 20 69 66 20 28 |en);.X! | if (|
|00001cf0| 74 79 70 65 20 21 3d 20 | 4d 41 4e 44 41 54 4f 52 |type != |MANDATOR|
|00001d00| 59 20 26 26 20 74 79 70 | 65 20 21 3d 20 4f 50 54 |Y && typ|e != OPT|
|00001d10| 49 4f 4e 41 4c 20 26 26 | 20 74 79 70 65 20 21 3d |IONAL &&| type !=|
|00001d20| 20 4f 42 53 4f 4c 45 54 | 45 20 26 26 20 74 79 70 | OBSOLET|E && typ|
|00001d30| 65 20 21 3d 20 52 45 43 | 4f 4d 4d 45 4e 44 45 44 |e != REC|OMMENDED|
|00001d40| 20 26 26 20 74 79 70 65 | 20 21 3d 20 44 45 50 52 | && type| != DEPR|
|00001d50| 45 43 41 54 45 44 29 7b | 0a 58 20 20 09 70 72 69 |ECATED){|.X .pri|
|00001d60| 6e 74 5f 65 72 72 6f 72 | 28 22 42 61 64 20 73 74 |nt_error|("Bad st|
|00001d70| 61 74 75 73 22 2c 20 74 | 6f 6b 65 6e 29 3b 0a 58 |atus", t|oken);.X|
|00001d80| 20 20 09 66 72 65 65 5f | 6e 6f 64 65 28 6e 70 29 | .free_|node(np)|
|00001d90| 3b 0a 58 20 20 09 72 65 | 74 75 72 6e 20 30 3b 0a |;.X .re|turn 0;.|
|00001da0| 58 20 20 20 20 20 20 7d | 0a 58 20 20 20 20 20 20 |X }|.X |
|00001db0| 74 79 70 65 20 3d 20 67 | 65 74 5f 74 6f 6b 65 6e |type = g|et_token|
|00001dc0| 28 66 70 2c 20 74 6f 6b | 65 6e 29 3b 0a 58 2b 20 |(fp, tok|en);.X+ |
|00001dd0| 20 20 20 20 2f 2a 0a 58 | 2b 20 20 20 20 20 20 2a | /*.X|+ *|
|00001de0| 20 4f 70 74 69 6f 6e 61 | 6c 20 70 61 72 74 73 20 | Optiona|l parts |
|00001df0| 6f 66 20 74 68 65 20 4f | 42 4a 45 43 54 2d 54 59 |of the O|BJECT-TY|
|00001e00| 50 45 20 6d 61 63 72 6f | 0a 58 2b 20 20 20 20 20 |PE macro|.X+ |
|00001e10| 20 2a 2f 0a 58 2b 20 20 | 20 20 20 77 68 69 6c 65 | */.X+ | while|
|00001e20| 20 28 74 79 70 65 20 21 | 3d 20 45 51 55 41 4c 53 | (type !|= EQUALS|
|00001e30| 29 20 7b 0a 58 2b 20 09 | 69 6e 74 20 62 72 65 61 |) {.X+ .|int brea|
|00001e40| 6b 46 6c 61 67 20 3d 20 | 30 3b 0a 58 2b 20 09 73 |kFlag = |0;.X+ .s|
|00001e50| 77 69 74 63 68 20 28 74 | 79 70 65 29 20 7b 0a 58 |witch (t|ype) {.X|
|00001e60| 2b 20 09 20 20 63 61 73 | 65 20 44 45 53 43 52 49 |+ . cas|e DESCRI|
|00001e70| 50 54 49 4f 4e 3a 0a 58 | 2b 20 09 20 20 20 20 74 |PTION:.X|+ . t|
|00001e80| 79 70 65 20 3d 20 67 65 | 74 5f 74 6f 6b 65 6e 28 |ype = ge|t_token(|
|00001e90| 66 70 2c 20 74 6f 6b 65 | 6e 29 3b 0a 58 2b 20 09 |fp, toke|n);.X+ .|
|00001ea0| 20 20 20 20 69 66 20 28 | 74 79 70 65 20 21 3d 20 | if (|type != |
|00001eb0| 51 55 4f 54 45 53 54 52 | 49 4e 47 29 20 7b 0a 58 |QUOTESTR|ING) {.X|
|00001ec0| 2b 20 09 09 70 72 69 6e | 74 5f 65 72 72 6f 72 28 |+ ..prin|t_error(|
|00001ed0| 22 42 61 64 20 44 45 53 | 43 52 49 50 54 49 4f 4e |"Bad DES|CRIPTION|
|00001ee0| 22 2c 20 74 6f 6b 65 6e | 29 3b 0a 58 2b 20 09 09 |", token|);.X+ ..|
|00001ef0| 66 72 65 65 5f 6e 6f 64 | 65 28 6e 70 29 3b 0a 58 |free_nod|e(np);.X|
|00001f00| 2b 20 09 09 72 65 74 75 | 72 6e 20 30 3b 0a 58 2b |+ ..retu|rn 0;.X+|
|00001f10| 20 09 20 20 20 20 7d 0a | 58 2b 20 09 20 20 20 20 | . }.|X+ . |
|00001f20| 62 72 65 61 6b 3b 0a 58 | 2b 20 0a 58 2b 20 09 20 |break;.X|+ .X+ . |
|00001f30| 20 63 61 73 65 20 49 4e | 44 45 58 3a 0a 58 2b 20 | case IN|DEX:.X+ |
|00001f40| 09 20 20 63 61 73 65 20 | 44 45 46 56 41 4c 3a 0a |. case |DEFVAL:.|
|00001f50| 58 2b 20 09 20 20 20 20 | 69 66 20 28 74 6f 73 73 |X+ . |if (toss|
|00001f60| 4f 62 6a 65 63 74 49 64 | 65 6e 74 69 66 69 65 72 |ObjectId|entifier|
|00001f70| 28 66 70 2c 20 74 6f 6b | 65 6e 29 20 21 3d 20 4f |(fp, tok|en) != O|
|00001f80| 42 4a 49 44 29 20 7b 0a | 58 2b 20 09 09 70 72 69 |BJID) {.|X+ ..pri|
|00001f90| 6e 74 5f 65 72 72 6f 72 | 28 22 42 61 64 20 4f 62 |nt_error|("Bad Ob|
|00001fa0| 6a 65 63 74 20 49 64 65 | 6e 74 69 66 69 65 72 22 |ject Ide|ntifier"|
|00001fb0| 2c 20 74 6f 6b 65 6e 29 | 3b 0a 58 2b 20 09 09 66 |, token)|;.X+ ..f|
|00001fc0| 72 65 65 5f 6e 6f 64 65 | 28 6e 70 29 3b 0a 58 2b |ree_node|(np);.X+|
|00001fd0| 20 09 09 72 65 74 75 72 | 6e 20 30 3b 0a 58 2b 20 | ..retur|n 0;.X+ |
|00001fe0| 09 20 20 20 20 7d 0a 58 | 2b 20 09 20 20 20 20 62 |. }.X|+ . b|
|00001ff0| 72 65 61 6b 3b 0a 58 2b | 20 0a 58 2b 20 09 20 20 |reak;.X+| .X+ . |
|00002000| 64 65 66 61 75 6c 74 3a | 0a 58 2b 20 09 20 20 20 |default:|.X+ . |
|00002010| 20 70 72 69 6e 74 5f 65 | 72 72 6f 72 28 22 42 61 | print_e|rror("Ba|
|00002020| 64 20 66 6f 72 6d 61 74 | 20 6f 66 20 6f 70 74 69 |d format| of opti|
|00002030| 6f 6e 61 6c 20 63 6c 61 | 75 73 65 73 22 2c 20 74 |onal cla|uses", t|
|00002040| 6f 6b 65 6e 29 3b 0a 58 | 2b 20 09 20 20 20 20 66 |oken);.X|+ . f|
|00002050| 72 65 65 5f 6e 6f 64 65 | 28 6e 70 29 3b 0a 58 2b |ree_node|(np);.X+|
|00002060| 20 09 20 20 20 20 72 65 | 74 75 72 6e 20 30 3b 0a | . re|turn 0;.|
|00002070| 58 2b 20 09 20 20 20 20 | 62 72 65 61 6b 3b 0a 58 |X+ . |break;.X|
|00002080| 2b 20 09 7d 0a 58 2b 20 | 09 74 79 70 65 20 3d 20 |+ .}.X+ |.type = |
|00002090| 67 65 74 5f 74 6f 6b 65 | 6e 28 66 70 2c 20 74 6f |get_toke|n(fp, to|
|000020a0| 6b 65 6e 29 3b 0a 58 2b | 20 20 20 20 20 7d 0a 58 |ken);.X+| }.X|
|000020b0| 20 20 20 20 20 20 69 66 | 20 28 74 79 70 65 20 21 | if| (type !|
|000020c0| 3d 20 45 51 55 41 4c 53 | 29 7b 0a 58 20 20 09 70 |= EQUALS|){.X .p|
|000020d0| 72 69 6e 74 5f 65 72 72 | 6f 72 28 22 42 61 64 20 |rint_err|or("Bad |
|000020e0| 66 6f 72 6d 61 74 22 2c | 20 74 6f 6b 65 6e 29 3b |format",| token);|
|000020f0| 0a 58 20 20 09 66 72 65 | 65 5f 6e 6f 64 65 28 6e |.X .fre|e_node(n|
|00002100| 70 29 3b 0a 58 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |p);.X***|********|
|00002110| 2a 2a 2a 2a 0a 58 2a 2a | 2a 20 37 32 31 2c 37 32 |****.X**|* 721,72|
|00002120| 37 20 2a 2a 2a 2a 0a 58 | 20 20 20 20 20 20 69 66 |7 ****.X| if|
|00002130| 20 28 6c 65 6e 67 74 68 | 20 3e 20 31 20 26 26 20 | (length| > 1 && |
|00002140| 6c 65 6e 67 74 68 20 3c | 3d 20 31 36 29 7b 0a 58 |length <|= 16){.X|
|00002150| 20 20 09 2f 2a 20 6a 75 | 73 74 20 74 61 6b 65 20 | ./* ju|st take |
|00002160| 74 68 65 20 6c 61 73 74 | 20 70 61 69 72 20 69 6e |the last| pair in|
|00002170| 20 74 68 65 20 6f 69 64 | 20 6c 69 73 74 20 2a 2f | the oid| list */|
|00002180| 0a 58 20 20 09 69 66 20 | 28 6f 69 64 5b 6c 65 6e |.X .if |(oid[len|
|00002190| 67 74 68 20 2d 20 32 5d | 2e 6c 61 62 65 6c 29 0a |gth - 2]|.label).|
|000021a0| 58 21 20 09 20 20 20 20 | 73 74 72 6e 63 70 79 28 |X! . |strncpy(|
|000021b0| 6e 70 2d 3e 70 61 72 65 | 6e 74 2c 20 6f 69 64 5b |np->pare|nt, oid[|
|000021c0| 6c 65 6e 67 74 68 20 2d | 20 32 5d 2e 6c 61 62 65 |length -| 2].labe|
|000021d0| 6c 2c 20 33 32 29 3b 0a | 58 20 20 09 73 74 72 63 |l, 32);.|X .strc|
|000021e0| 70 79 28 6e 70 2d 3e 6c | 61 62 65 6c 2c 20 6e 61 |py(np->l|abel, na|
|000021f0| 6d 65 29 3b 0a 58 20 20 | 09 69 66 20 28 6f 69 64 |me);.X |.if (oid|
|00002200| 5b 6c 65 6e 67 74 68 20 | 2d 20 31 5d 2e 73 75 62 |[length |- 1].sub|
|00002210| 69 64 20 21 3d 20 2d 31 | 29 0a 58 20 20 09 20 20 |id != -1|).X . |
|00002220| 20 20 6e 70 2d 3e 73 75 | 62 69 64 20 3d 20 6f 69 | np->su|bid = oi|
|00002230| 64 5b 6c 65 6e 67 74 68 | 20 2d 20 31 5d 2e 73 75 |d[length| - 1].su|
|00002240| 62 69 64 3b 0a 58 2d 2d | 2d 20 37 36 34 2c 37 37 |bid;.X--|- 764,77|
|00002250| 30 20 2d 2d 2d 2d 0a 58 | 20 20 20 20 20 20 69 66 |0 ----.X| if|
|00002260| 20 28 6c 65 6e 67 74 68 | 20 3e 20 31 20 26 26 20 | (length| > 1 && |
|00002270| 6c 65 6e 67 74 68 20 3c | 3d 20 31 36 29 7b 0a 58 |length <|= 16){.X|
|00002280| 20 20 09 2f 2a 20 6a 75 | 73 74 20 74 61 6b 65 20 | ./* ju|st take |
|00002290| 74 68 65 20 6c 61 73 74 | 20 70 61 69 72 20 69 6e |the last| pair in|
|000022a0| 20 74 68 65 20 6f 69 64 | 20 6c 69 73 74 20 2a 2f | the oid| list */|
|000022b0| 0a 58 20 20 09 69 66 20 | 28 6f 69 64 5b 6c 65 6e |.X .if |(oid[len|
|000022c0| 67 74 68 20 2d 20 32 5d | 2e 6c 61 62 65 6c 29 0a |gth - 2]|.label).|
|000022d0| 58 21 20 09 20 20 20 20 | 73 74 72 6e 63 70 79 28 |X! . |strncpy(|
|000022e0| 6e 70 2d 3e 70 61 72 65 | 6e 74 2c 20 6f 69 64 5b |np->pare|nt, oid[|
|000022f0| 6c 65 6e 67 74 68 20 2d | 20 32 5d 2e 6c 61 62 65 |length -| 2].labe|
|00002300| 6c 2c 20 4d 41 58 4c 41 | 42 45 4c 29 3b 0a 58 20 |l, MAXLA|BEL);.X |
|00002310| 20 09 73 74 72 63 70 79 | 28 6e 70 2d 3e 6c 61 62 | .strcpy|(np->lab|
|00002320| 65 6c 2c 20 6e 61 6d 65 | 29 3b 0a 58 20 20 09 69 |el, name|);.X .i|
|00002330| 66 20 28 6f 69 64 5b 6c | 65 6e 67 74 68 20 2d 20 |f (oid[l|ength - |
|00002340| 31 5d 2e 73 75 62 69 64 | 20 21 3d 20 2d 31 29 0a |1].subid| != -1).|
|00002350| 58 20 20 09 20 20 20 20 | 6e 70 2d 3e 73 75 62 69 |X . |np->subi|
|00002360| 64 20 3d 20 6f 69 64 5b | 6c 65 6e 67 74 68 20 2d |d = oid[|length -|
|00002370| 20 31 5d 2e 73 75 62 69 | 64 3b 0a 58 2a 2a 2a 2a | 1].subi|d;.X****|
|00002380| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 0a 58 2a 2a 2a |********|***.X***|
|00002390| 20 37 35 30 2c 37 35 37 | 20 2a 2a 2a 2a 0a 58 20 | 750,757| ****.X |
|000023a0| 20 70 61 72 73 65 28 66 | 70 29 0a 58 20 20 20 20 | parse(f|p).X |
|000023b0| 20 20 46 49 4c 45 20 2a | 66 70 3b 0a 58 20 20 7b | FILE *|fp;.X {|
|000023c0| 0a 58 21 20 20 20 20 20 | 63 68 61 72 20 74 6f 6b |.X! |char tok|
|000023d0| 65 6e 5b 36 34 5d 3b 0a | 58 21 20 20 20 20 20 63 |en[64];.|X! c|
|000023e0| 68 61 72 20 6e 61 6d 65 | 5b 33 32 5d 3b 0a 58 20 |har name|[32];.X |
|000023f0| 20 20 20 20 20 69 6e 74 | 09 74 79 70 65 20 3d 20 | int|.type = |
|00002400| 31 3b 0a 58 20 20 20 20 | 20 20 73 74 72 75 63 74 |1;.X | struct|
|00002410| 20 6e 6f 64 65 20 2a 6e | 70 2c 20 2a 72 6f 6f 74 | node *n|p, *root|
|00002420| 20 3d 20 4e 55 4c 4c 3b | 0a 58 20 20 0a 58 2d 2d | = NULL;|.X .X--|
|00002430| 2d 20 37 39 33 2c 38 30 | 30 20 2d 2d 2d 2d 0a 58 |- 793,80|0 ----.X|
|00002440| 20 20 70 61 72 73 65 28 | 66 70 29 0a 58 20 20 20 | parse(|fp).X |
|00002450| 20 20 20 46 49 4c 45 20 | 2a 66 70 3b 0a 58 20 20 | FILE |*fp;.X |
|00002460| 7b 0a 58 21 20 20 20 20 | 20 63 68 61 72 20 74 6f |{.X! | char to|
|00002470| 6b 65 6e 5b 4d 41 58 54 | 4f 4b 45 4e 5d 3b 0a 58 |ken[MAXT|OKEN];.X|
|00002480| 21 20 20 20 20 20 63 68 | 61 72 20 6e 61 6d 65 5b |! ch|ar name[|
|00002490| 4d 41 58 4c 41 42 45 4c | 5d 3b 0a 58 20 20 20 20 |MAXLABEL|];.X |
|000024a0| 20 20 69 6e 74 09 74 79 | 70 65 20 3d 20 31 3b 0a | int.ty|pe = 1;.|
|000024b0| 58 20 20 20 20 20 20 73 | 74 72 75 63 74 20 6e 6f |X s|truct no|
|000024c0| 64 65 20 2a 6e 70 2c 20 | 2a 72 6f 6f 74 20 3d 20 |de *np, |*root = |
|000024d0| 4e 55 4c 4c 3b 0a 58 20 | 20 0a 58 2a 2a 2a 2a 2a |NULL;.X | .X*****|
|000024e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 0a 58 2a 2a 2a 20 |********|**.X*** |
|000024f0| 37 36 36 2c 37 37 32 20 | 2a 2a 2a 2a 0a 58 20 20 |766,772 |****.X |
|00002500| 09 20 20 20 20 70 72 69 | 6e 74 5f 65 72 72 6f 72 |. pri|nt_error|
|00002510| 28 74 6f 6b 65 6e 2c 20 | 22 69 73 20 61 20 72 65 |(token, |"is a re|
|00002520| 73 65 72 76 65 64 20 77 | 6f 72 64 22 29 3b 0a 58 |served w|ord");.X|
|00002530| 20 20 09 20 20 20 20 72 | 65 74 75 72 6e 20 4e 55 | . r|eturn NU|
|00002540| 4c 4c 3b 0a 58 20 20 09 | 7d 0a 58 21 20 09 73 74 |LL;.X .|}.X! .st|
|00002550| 72 6e 63 70 79 28 6e 61 | 6d 65 2c 20 74 6f 6b 65 |rncpy(na|me, toke|
|00002560| 6e 2c 20 33 32 29 3b 0a | 58 20 20 09 74 79 70 65 |n, 32);.|X .type|
|00002570| 20 3d 20 67 65 74 5f 74 | 6f 6b 65 6e 28 66 70 2c | = get_t|oken(fp,|
|00002580| 20 74 6f 6b 65 6e 29 3b | 0a 58 20 20 09 69 66 20 | token);|.X .if |
|00002590| 28 74 79 70 65 20 3d 3d | 20 4f 42 4a 54 59 50 45 |(type ==| OBJTYPE|
|000025a0| 29 7b 0a 58 20 20 09 20 | 20 20 20 69 66 20 28 72 |){.X . | if (r|
|000025b0| 6f 6f 74 20 3d 3d 20 4e | 55 4c 4c 29 7b 0a 58 2d |oot == N|ULL){.X-|
|000025c0| 2d 2d 20 38 30 39 2c 38 | 31 35 20 2d 2d 2d 2d 0a |-- 809,8|15 ----.|
|000025d0| 58 20 20 09 20 20 20 20 | 70 72 69 6e 74 5f 65 72 |X . |print_er|
|000025e0| 72 6f 72 28 74 6f 6b 65 | 6e 2c 20 22 69 73 20 61 |ror(toke|n, "is a|
|000025f0| 20 72 65 73 65 72 76 65 | 64 20 77 6f 72 64 22 29 | reserve|d word")|
|00002600| 3b 0a 58 20 20 09 20 20 | 20 20 72 65 74 75 72 6e |;.X . | return|
|00002610| 20 4e 55 4c 4c 3b 0a 58 | 20 20 09 7d 0a 58 21 20 | NULL;.X| .}.X! |
|00002620| 09 73 74 72 6e 63 70 79 | 28 6e 61 6d 65 2c 20 74 |.strncpy|(name, t|
|00002630| 6f 6b 65 6e 2c 20 4d 41 | 58 54 4f 4b 45 4e 29 3b |oken, MA|XTOKEN);|
|00002640| 0a 58 20 20 09 74 79 70 | 65 20 3d 20 67 65 74 5f |.X .typ|e = get_|
|00002650| 74 6f 6b 65 6e 28 66 70 | 2c 20 74 6f 6b 65 6e 29 |token(fp|, token)|
|00002660| 3b 0a 58 20 20 09 69 66 | 20 28 74 79 70 65 20 3d |;.X .if| (type =|
|00002670| 3d 20 4f 42 4a 54 59 50 | 45 29 7b 0a 58 20 20 09 |= OBJTYP|E){.X .|
|00002680| 20 20 20 20 69 66 20 28 | 72 6f 6f 74 20 3d 3d 20 | if (|root == |
|00002690| 4e 55 4c 4c 29 7b 0a 58 | 2a 2a 2a 2a 2a 2a 2a 2a |NULL){.X|********|
|000026a0| 2a 2a 2a 2a 2a 2a 2a 0a | 58 2a 2a 2a 20 38 30 36 |*******.|X*** 806|
|000026b0| 2c 38 31 31 20 2a 2a 2a | 2a 0a 58 2d 2d 2d 20 38 |,811 ***|*.X--- 8|
|000026c0| 34 39 2c 38 35 39 20 2d | 2d 2d 2d 0a 58 20 20 09 |49,859 -|---.X .|
|000026d0| 09 6e 70 20 3d 20 6e 70 | 2d 3e 6e 65 78 74 3b 0a |.np = np|->next;.|
|000026e0| 58 20 20 09 7d 20 65 6c | 73 65 20 69 66 20 28 74 |X .} el|se if (t|
|000026f0| 79 70 65 20 3d 3d 20 45 | 51 55 41 4c 53 29 7b 0a |ype == E|QUALS){.|
|00002700| 58 20 20 09 20 20 20 20 | 74 79 70 65 20 3d 20 70 |X . |type = p|
|00002710| 61 72 73 65 5f 61 73 6e | 74 79 70 65 28 66 70 29 |arse_asn|type(fp)|
|00002720| 3b 0a 58 2b 20 09 20 20 | 20 20 69 66 20 28 74 79 |;.X+ . | if (ty|
|00002730| 70 65 20 21 3d 20 4e 55 | 4c 4c 29 20 7b 0a 58 2b |pe != NU|LL) {.X+|
|00002740| 20 09 09 2f 2a 20 65 71 | 75 69 76 61 6c 65 6e 63 | ../* eq|uivalenc|
|00002750| 65 64 20 74 79 70 65 3a | 20 44 64 70 41 64 64 72 |ed type:| DdpAddr|
|00002760| 65 73 73 20 3a 3d 3d 20 | 4f 43 54 45 54 20 53 54 |ess :== |OCTET ST|
|00002770| 52 49 4e 47 20 2a 2f 0a | 58 2b 20 09 09 2f 2a 20 |RING */.|X+ ../* |
|00002780| 57 68 61 74 20 74 6f 20 | 64 6f 3f 20 20 2a 2f 0a |What to |do? */.|
|00002790| 58 2b 20 09 20 20 20 20 | 7d 0a 58 2b 20 09 20 20 |X+ . |}.X+ . |
|000027a0| 20 20 0a 58 20 20 09 7d | 20 65 6c 73 65 20 69 66 | .X .}| else if|
|000027b0| 20 28 74 79 70 65 20 3d | 3d 20 4e 55 4c 4c 29 7b | (type =|= NULL){|
|000027c0| 0a 58 20 20 09 20 20 20 | 20 62 72 65 61 6b 3b 0a |.X . | break;.|
|000027d0| 58 20 20 09 7d 20 65 6c | 73 65 20 7b 0a 58 2a 2a |X .} el|se {.X**|
|000027e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 0a 58 2a |********|*****.X*|
|000027f0| 2a 2a 20 38 31 33 2c 38 | 31 38 20 2a 2a 2a 2a 0a |** 813,8|18 ****.|
|00002800| 58 2d 2d 2d 20 38 36 31 | 2c 38 36 37 20 2d 2d 2d |X--- 861|,867 ---|
|00002810| 2d 0a 58 20 20 09 20 20 | 20 20 72 65 74 75 72 6e |-.X . | return|
|00002820| 20 4e 55 4c 4c 3b 0a 58 | 20 20 09 7d 0a 58 20 20 | NULL;.X| .}.X |
|00002830| 20 20 20 20 7d 0a 58 2b | 20 20 20 20 20 0a 58 20 | }.X+| .X |
|00002840| 20 23 69 66 64 65 66 20 | 54 45 53 54 0a 58 20 20 | #ifdef |TEST.X |
|00002850| 7b 0a 58 20 20 20 20 20 | 20 73 74 72 75 63 74 20 |{.X | struct |
|00002860| 65 6e 75 6d 5f 6c 69 73 | 74 20 2a 65 70 3b 0a 58 |enum_lis|t *ep;.X|
|00002870| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 0a |********|*******.|
|00002880| 58 2a 2a 2a 20 38 35 34 | 2c 38 35 39 20 2a 2a 2a |X*** 854|,859 ***|
|00002890| 2a 0a 58 2d 2d 2d 20 39 | 30 33 2c 39 31 30 20 2d |*.X--- 9|03,910 -|
|000028a0| 2d 2d 2d 0a 58 20 20 09 | 63 68 20 3d 20 67 65 74 |---.X .|ch = get|
|000028b0| 63 28 66 70 29 3b 0a 58 | 20 20 09 69 66 20 28 63 |c(fp);.X| .if (c|
|000028c0| 68 20 3d 3d 20 27 5c 6e | 27 29 0a 58 20 20 09 20 |h == '\n|').X . |
|000028d0| 20 20 20 4c 69 6e 65 2b | 2b 3b 0a 58 2b 20 09 65 | Line+|+;.X+ .e|
|000028e0| 6c 73 65 20 69 66 20 28 | 63 68 20 3d 3d 20 27 22 |lse if (|ch == '"|
|000028f0| 27 29 0a 58 2b 20 09 20 | 20 20 20 72 65 74 75 72 |').X+ . | retur|
|00002900| 6e 20 70 61 72 73 65 51 | 75 6f 74 65 53 74 72 69 |n parseQ|uoteStri|
|00002910| 6e 67 28 66 70 2c 20 74 | 6f 6b 65 6e 29 3b 0a 58 |ng(fp, t|oken);.X|
|00002920| 20 20 20 20 20 20 7d 0a | 58 20 20 20 20 20 20 69 | }.|X i|
|00002930| 66 20 28 63 68 20 3d 3d | 20 2d 31 29 0a 58 20 20 |f (ch ==| -1).X |
|00002940| 09 72 65 74 75 72 6e 20 | 4e 55 4c 4c 3b 0a 58 2a |.return |NULL;.X*|
|00002950| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 0a 58 |********|******.X|
|00002960| 2a 2a 2a 20 39 30 30 2c | 39 30 35 20 2a 2a 2a 2a |*** 900,|905 ****|
|00002970| 0a 58 2d 2d 2d 20 39 35 | 31 2c 31 30 32 38 20 2d |.X--- 95|1,1028 -|
|00002980| 2d 2d 2d 0a 58 20 20 20 | 20 20 20 0a 58 20 20 20 |---.X | .X |
|00002990| 20 20 20 7d 20 77 68 69 | 6c 65 20 28 28 63 68 20 | } whi|le ((ch |
|000029a0| 3d 20 67 65 74 63 28 66 | 70 29 29 20 21 3d 20 2d |= getc(f|p)) != -|
|000029b0| 31 29 3b 0a 58 20 20 20 | 20 20 20 72 65 74 75 72 |1);.X | retur|
|000029c0| 6e 20 4e 55 4c 4c 3b 0a | 58 2b 20 7d 0a 58 2b 20 |n NULL;.|X+ }.X+ |
|000029d0| 0a 58 2b 20 73 74 61 74 | 69 63 20 69 6e 74 0a 58 |.X+ stat|ic int.X|
|000029e0| 2b 20 70 61 72 73 65 51 | 75 6f 74 65 53 74 72 69 |+ parseQ|uoteStri|
|000029f0| 6e 67 28 66 70 2c 20 74 | 6f 6b 65 6e 29 0a 58 2b |ng(fp, t|oken).X+|
|00002a00| 20 20 20 20 20 72 65 67 | 69 73 74 65 72 20 46 49 | reg|ister FI|
|00002a10| 4c 45 20 2a 66 70 3b 0a | 58 2b 20 20 20 20 20 72 |LE *fp;.|X+ r|
|00002a20| 65 67 69 73 74 65 72 20 | 63 68 61 72 20 2a 74 6f |egister |char *to|
|00002a30| 6b 65 6e 3b 0a 58 2b 20 | 7b 0a 58 2b 20 20 20 20 |ken;.X+ |{.X+ |
|00002a40| 20 73 74 61 74 69 63 20 | 63 68 61 72 20 6c 61 73 | static |char las|
|00002a50| 74 20 3d 20 27 20 27 3b | 0a 58 2b 20 20 20 20 20 |t = ' ';|.X+ |
|00002a60| 72 65 67 69 73 74 65 72 | 20 69 6e 74 20 63 68 3b |register| int ch;|
|00002a70| 0a 58 2b 20 20 20 20 20 | 72 65 67 69 73 74 65 72 |.X+ |register|
|00002a80| 20 63 68 61 72 20 2a 63 | 70 20 3d 20 74 6f 6b 65 | char *c|p = toke|
|00002a90| 6e 3b 0a 58 2b 20 20 20 | 20 20 72 65 67 69 73 74 |n;.X+ | regist|
|00002aa0| 65 72 20 69 6e 74 20 68 | 61 73 68 20 3d 20 30 3b |er int h|ash = 0;|
|00002ab0| 0a 58 2b 20 20 20 20 20 | 72 65 67 69 73 74 65 72 |.X+ |register|
|00002ac0| 20 73 74 72 75 63 74 20 | 74 6f 6b 20 2a 74 70 3b | struct |tok *tp;|
|00002ad0| 0a 58 2b 20 0a 58 2b 20 | 20 20 20 20 63 68 20 3d |.X+ .X+ | ch =|
|00002ae0| 20 27 20 27 3b 0a 58 2b | 20 20 20 20 20 0a 58 2b | ' ';.X+| .X+|
|00002af0| 20 20 20 20 20 77 68 69 | 6c 65 28 63 68 20 21 3d | whi|le(ch !=|
|00002b00| 20 2d 31 29 20 7b 0a 58 | 2b 20 09 63 68 20 3d 20 | -1) {.X|+ .ch = |
|00002b10| 67 65 74 63 28 66 70 29 | 3b 0a 58 2b 20 09 63 70 |getc(fp)|;.X+ .cp|
|00002b20| 2b 2b 3b 0a 58 2b 20 09 | 0a 58 2b 20 09 69 66 20 |++;.X+ .|.X+ .if |
|00002b30| 28 63 68 20 3d 3d 20 27 | 5c 6e 27 29 0a 58 2b 20 |(ch == '|\n').X+ |
|00002b40| 09 20 20 20 20 4c 69 6e | 65 2b 2b 3b 0a 58 2b 20 |. Lin|e++;.X+ |
|00002b50| 09 65 6c 73 65 20 69 66 | 20 28 63 68 20 3d 3d 20 |.else if| (ch == |
|00002b60| 27 22 27 29 20 7b 0a 58 | 2b 20 09 20 20 20 20 72 |'"') {.X|+ . r|
|00002b70| 65 74 75 72 6e 20 51 55 | 4f 54 45 53 54 52 49 4e |eturn QU|OTESTRIN|
|00002b80| 47 3b 0a 58 2b 20 09 7d | 0a 58 2b 20 20 20 20 20 |G;.X+ .}|.X+ |
|00002b90| 7d 0a 58 2b 20 20 20 20 | 20 69 66 20 28 63 68 20 |}.X+ | if (ch |
|00002ba0| 3d 3d 20 2d 31 29 20 7b | 0a 58 2b 20 09 6c 61 73 |== -1) {|.X+ .las|
|00002bb0| 74 20 3d 20 63 68 3b 0a | 58 2b 20 09 2a 63 70 20 |t = ch;.|X+ .*cp |
|00002bc0| 3d 20 27 5c 30 27 3b 0a | 58 2b 20 09 72 65 74 75 |= '\0';.|X+ .retu|
|00002bd0| 72 6e 20 4e 55 4c 4c 3b | 0a 58 2b 20 20 20 20 20 |rn NULL;|.X+ |
|00002be0| 7d 0a 58 2b 20 7d 0a 58 | 2b 20 0a 58 2b 20 2f 2a |}.X+ }.X|+ .X+ /*|
|00002bf0| 0a 58 2b 20 20 2a 20 54 | 68 69 73 20 72 6f 75 74 |.X+ * T|his rout|
|00002c00| 69 6e 65 20 70 61 72 73 | 65 73 20 61 20 73 74 72 |ine pars|es a str|
|00002c10| 69 6e 67 20 6c 69 6b 65 | 20 20 7b 20 62 6c 61 68 |ing like| { blah|
|00002c20| 20 62 6c 61 68 20 62 6c | 61 68 20 7d 20 61 6e 64 | blah bl|ah } and|
|00002c30| 20 72 65 74 75 72 6e 73 | 20 4f 42 4a 49 44 20 69 | returns| OBJID i|
|00002c40| 66 0a 58 2b 20 20 2a 20 | 69 74 20 69 73 20 77 65 |f.X+ * |it is we|
|00002c50| 6c 6c 20 66 6f 72 6d 65 | 64 2c 20 61 6e 64 20 4e |ll forme|d, and N|
|00002c60| 55 4c 4c 20 69 66 20 6e | 6f 74 2e 0a 58 2b 20 20 |ULL if n|ot..X+ |
|00002c70| 2a 2f 20 0a 58 2b 20 73 | 74 61 74 69 63 20 69 6e |*/ .X+ s|tatic in|
|00002c80| 74 0a 58 2b 20 74 6f 73 | 73 4f 62 6a 65 63 74 49 |t.X+ tos|sObjectI|
|00002c90| 64 65 6e 74 69 66 69 65 | 72 28 66 70 2c 20 74 6f |dentifie|r(fp, to|
|00002ca0| 6b 65 6e 29 0a 58 2b 20 | 20 20 20 20 72 65 67 69 |ken).X+ | regi|
|00002cb0| 73 74 65 72 20 46 49 4c | 45 20 2a 66 70 3b 0a 58 |ster FIL|E *fp;.X|
|00002cc0| 2b 20 20 20 20 20 72 65 | 67 69 73 74 65 72 20 63 |+ re|gister c|
|00002cd0| 68 61 72 20 2a 74 6f 6b | 65 6e 3b 0a 58 2b 20 7b |har *tok|en;.X+ {|
|00002ce0| 0a 58 2b 20 20 20 20 20 | 73 74 61 74 69 63 20 63 |.X+ |static c|
|00002cf0| 68 61 72 20 6c 61 73 74 | 20 3d 20 27 20 27 3b 0a |har last| = ' ';.|
|00002d00| 58 2b 20 20 20 20 20 72 | 65 67 69 73 74 65 72 20 |X+ r|egister |
|00002d10| 69 6e 74 20 63 68 3b 0a | 58 2b 20 20 20 20 20 72 |int ch;.|X+ r|
|00002d20| 65 67 69 73 74 65 72 20 | 63 68 61 72 20 2a 63 70 |egister |char *cp|
|00002d30| 20 3d 20 74 6f 6b 65 6e | 3b 0a 58 2b 20 20 20 20 | = token|;.X+ |
|00002d40| 20 72 65 67 69 73 74 65 | 72 20 69 6e 74 20 68 61 | registe|r int ha|
|00002d50| 73 68 20 3d 20 30 3b 0a | 58 2b 20 20 20 20 20 72 |sh = 0;.|X+ r|
|00002d60| 65 67 69 73 74 65 72 20 | 73 74 72 75 63 74 20 74 |egister |struct t|
|00002d70| 6f 6b 20 2a 74 70 3b 0a | 58 2b 20 0a 58 2b 20 0a |ok *tp;.|X+ .X+ .|
|00002d80| 58 2b 20 20 20 20 20 63 | 68 20 3d 20 6c 61 73 74 |X+ c|h = last|
|00002d90| 3b 0a 58 2b 20 20 20 20 | 20 2f 2a 20 73 6b 69 70 |;.X+ | /* skip|
|00002da0| 20 61 6c 6c 20 77 68 69 | 74 65 20 73 70 61 63 65 | all whi|te space|
|00002db0| 20 2a 2f 0a 58 2b 20 20 | 20 20 20 77 68 69 6c 65 | */.X+ | while|
|00002dc0| 28 69 73 73 70 61 63 65 | 28 63 68 29 20 26 26 20 |(isspace|(ch) && |
|00002dd0| 63 68 20 21 3d 20 2d 31 | 29 7b 0a 58 2b 20 09 63 |ch != -1|){.X+ .c|
|00002de0| 68 20 3d 20 67 65 74 63 | 28 66 70 29 3b 0a 58 2b |h = getc|(fp);.X+|
|00002df0| 20 09 69 66 20 28 63 68 | 20 3d 3d 20 27 5c 6e 27 | .if (ch| == '\n'|
|00002e00| 29 0a 58 2b 20 09 20 20 | 20 20 4c 69 6e 65 2b 2b |).X+ . | Line++|
|00002e10| 3b 0a 58 2b 20 20 20 20 | 20 7d 0a 58 2b 20 20 20 |;.X+ | }.X+ |
|00002e20| 20 20 69 66 20 28 63 68 | 20 21 3d 20 27 7b 27 29 | if (ch| != '{')|
|00002e30| 0a 58 2b 20 09 72 65 74 | 75 72 6e 20 4e 55 4c 4c |.X+ .ret|urn NULL|
|00002e40| 3b 0a 58 2b 20 20 20 20 | 20 0a 58 2b 20 20 20 20 |;.X+ | .X+ |
|00002e50| 20 77 68 69 6c 65 28 63 | 68 20 21 3d 20 2d 31 29 | while(c|h != -1)|
|00002e60| 20 7b 0a 58 2b 20 09 63 | 68 20 3d 20 67 65 74 63 | {.X+ .c|h = getc|
|00002e70| 28 66 70 29 3b 0a 58 2b | 20 09 63 70 2b 2b 3b 0a |(fp);.X+| .cp++;.|
|00002e80| 58 2b 20 09 0a 58 2b 20 | 09 69 66 20 28 63 68 20 |X+ ..X+ |.if (ch |
|00002e90| 3d 3d 20 27 5c 6e 27 29 | 0a 58 2b 20 09 20 20 20 |== '\n')|.X+ . |
|00002ea0| 20 4c 69 6e 65 2b 2b 3b | 0a 58 2b 20 09 65 6c 73 | Line++;|.X+ .els|
|00002eb0| 65 20 69 66 20 28 63 68 | 20 3d 3d 20 27 7d 27 29 |e if (ch| == '}')|
|00002ec0| 0a 58 2b 20 09 20 20 20 | 20 72 65 74 75 72 6e 20 |.X+ . | return |
|00002ed0| 4f 42 4a 49 44 3b 0a 58 | 2b 20 20 20 20 20 7d 0a |OBJID;.X|+ }.|
|00002ee0| 58 2b 20 20 20 20 20 69 | 66 20 28 63 68 20 3d 3d |X+ i|f (ch ==|
|00002ef0| 20 2d 31 29 7b 0a 58 2b | 20 09 6c 61 73 74 20 3d | -1){.X+| .last =|
|00002f00| 20 63 68 3b 0a 58 2b 20 | 09 2a 63 70 20 3d 20 27 | ch;.X+ |.*cp = '|
|00002f10| 5c 30 27 3b 0a 58 2b 20 | 09 72 65 74 75 72 6e 20 |\0';.X+ |.return |
|00002f20| 4e 55 4c 4c 3b 0a 58 2b | 20 20 20 20 20 7d 0a 58 |NULL;.X+| }.X|
|00002f30| 20 20 7d 0a 58 20 20 0a | 58 20 20 73 74 72 75 63 | }.X .|X struc|
|00002f40| 74 20 74 72 65 65 20 2a | 0a 45 4e 44 5f 4f 46 5f |t tree *|.END_OF_|
|00002f50| 70 61 72 73 65 2e 63 2e | 64 69 66 66 0a 69 66 20 |parse.c.|diff.if |
|00002f60| 74 65 73 74 20 38 31 30 | 39 20 2d 6e 65 20 60 77 |test 810|9 -ne `w|
|00002f70| 63 20 2d 63 20 3c 70 61 | 72 73 65 2e 63 2e 64 69 |c -c <pa|rse.c.di|
|00002f80| 66 66 60 3b 20 74 68 65 | 6e 0a 20 20 20 20 65 63 |ff`; the|n. ec|
|00002f90| 68 6f 20 73 68 61 72 3a | 20 5c 22 70 61 72 73 65 |ho shar:| \"parse|
|00002fa0| 2e 63 2e 64 69 66 66 5c | 22 20 75 6e 70 61 63 6b |.c.diff\|" unpack|
|00002fb0| 65 64 20 77 69 74 68 20 | 77 72 6f 6e 67 20 73 69 |ed with |wrong si|
|00002fc0| 7a 65 21 0a 66 69 0a 23 | 20 65 6e 64 20 6f 66 20 |ze!.fi.#| end of |
|00002fd0| 6f 76 65 72 77 72 69 74 | 69 6e 67 20 63 68 65 63 |overwrit|ing chec|
|00002fe0| 6b 0a 66 69 0a 69 66 20 | 74 65 73 74 20 2d 66 20 |k.fi.if |test -f |
|00002ff0| 70 61 72 73 65 2e 68 2e | 64 69 66 66 20 2d 61 20 |parse.h.|diff -a |
|00003000| 22 24 7b 31 7d 22 20 21 | 3d 20 22 2d 63 22 20 3b |"${1}" !|= "-c" ;|
|00003010| 20 74 68 65 6e 20 0a 20 | 20 65 63 68 6f 20 73 68 | then . | echo sh|
|00003020| 61 72 3a 20 57 69 6c 6c | 20 6e 6f 74 20 6f 76 65 |ar: Will| not ove|
|00003030| 72 2d 77 72 69 74 65 20 | 65 78 69 73 74 69 6e 67 |r-write |existing|
|00003040| 20 66 69 6c 65 20 5c 22 | 70 61 72 73 65 2e 68 2e | file \"|parse.h.|
|00003050| 64 69 66 66 5c 22 0a 65 | 6c 73 65 0a 65 63 68 6f |diff\".e|lse.echo|
|00003060| 20 73 68 61 72 3a 20 45 | 78 74 72 61 63 74 69 6e | shar: E|xtractin|
|00003070| 67 20 5c 22 70 61 72 73 | 65 2e 68 2e 64 69 66 66 |g \"pars|e.h.diff|
|00003080| 5c 22 20 5c 28 32 34 33 | 32 20 63 68 61 72 61 63 |\" \(243|2 charac|
|00003090| 74 65 72 73 5c 29 0a 73 | 65 64 20 22 73 2f 5e 58 |ters\).s|ed "s/^X|
|000030a0| 2f 2f 22 20 3e 70 61 72 | 73 65 2e 68 2e 64 69 66 |//" >par|se.h.dif|
|000030b0| 66 20 3c 3c 27 45 4e 44 | 5f 4f 46 5f 70 61 72 73 |f <<'END|_OF_pars|
|000030c0| 65 2e 68 2e 64 69 66 66 | 27 0a 58 3d 3d 3d 3d 3d |e.h.diff|'.X=====|
|000030d0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000030e0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000030f0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003100| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 0a 58 |========|======.X|
|00003110| 52 43 53 20 66 69 6c 65 | 3a 20 2f 73 2f 75 73 72 |RCS file|: /s/usr|
|00003120| 32 2f 4b 2f 72 65 70 6f | 2f 74 6f 6f 6c 73 2f 63 |2/K/repo|/tools/c|
|00003130| 6d 75 2d 73 6e 6d 70 2f | 73 6e 6d 70 6c 69 62 2f |mu-snmp/|snmplib/|
|00003140| 70 61 72 73 65 2e 68 2c | 76 0a 58 72 65 74 72 69 |parse.h,|v.Xretri|
|00003150| 65 76 69 6e 67 20 72 65 | 76 69 73 69 6f 6e 20 31 |eving re|vision 1|
|00003160| 2e 31 0a 58 64 69 66 66 | 20 2d 63 20 2d 72 31 2e |.1.Xdiff| -c -r1.|
|00003170| 31 20 70 61 72 73 65 2e | 68 0a 58 2a 2a 2a 20 2f |1 parse.|h.X*** /|
|00003180| 74 6d 70 2f 2c 52 43 53 | 74 31 61 32 32 33 34 35 |tmp/,RCS|t1a22345|
|00003190| 09 54 75 65 20 53 65 70 | 20 32 34 20 32 30 3a 32 |.Tue Sep| 24 20:2|
|000031a0| 33 3a 30 31 20 31 39 39 | 31 0a 58 2d 2d 2d 20 70 |3:01 199|1.X--- p|
|000031b0| 61 72 73 65 2e 68 09 54 | 75 65 20 41 75 67 20 32 |arse.h.T|ue Aug 2|
|000031c0| 30 20 32 32 3a 30 35 3a | 30 32 20 31 39 39 31 0a |0 22:05:|02 1991.|
|000031d0| 58 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |X*******|********|
|000031e0| 0a 58 2a 2a 2a 20 31 2c | 33 20 2a 2a 2a 2a 0a 58 |.X*** 1,|3 ****.X|
|000031f0| 2d 2d 2d 20 31 2c 34 20 | 2d 2d 2d 2d 0a 58 2b 20 |--- 1,4 |----.X+ |
|00003200| 2f 2a 20 24 49 64 3a 20 | 70 61 72 73 65 2e 68 2c |/* $Id: |parse.h,|
|00003210| 76 20 31 2e 32 20 39 31 | 2f 30 37 2f 32 37 20 32 |v 1.2 91|/07/27 2|
|00003220| 33 3a 33 38 3a 33 30 20 | 6e 69 6b 20 45 78 70 20 |3:38:30 |nik Exp |
|00003230| 24 09 2a 2f 0a 58 20 20 | 2f 2a 2a 2a 2a 2a 2a 2a |$.*/.X |/*******|
|00003240| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003250| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003260| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003270| 2a 2a 2a 2a 0a 58 20 20 | 09 43 6f 70 79 72 69 67 |****.X |.Copyrig|
|00003280| 68 74 20 31 39 38 39 20 | 62 79 20 43 61 72 6e 65 |ht 1989 |by Carne|
|00003290| 67 69 65 20 4d 65 6c 6c | 6f 6e 20 55 6e 69 76 65 |gie Mell|on Unive|
|000032a0| 72 73 69 74 79 0a 58 20 | 20 0a 58 2a 2a 2a 2a 2a |rsity.X | .X*****|
|000032b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 0a 58 2a 2a 2a 20 |********|**.X*** |
|000032c0| 32 33 2c 32 38 20 2a 2a | 2a 2a 0a 58 2d 2d 2d 20 |23,28 **|**.X--- |
|000032d0| 32 34 2c 33 32 20 2d 2d | 2d 2d 0a 58 20 20 20 2a |24,32 --|--.X *|
|000032e0| 20 70 61 72 73 65 2e 68 | 0a 58 20 20 20 2a 2f 0a | parse.h|.X */.|
|000032f0| 58 20 20 0a 58 2b 20 23 | 64 65 66 69 6e 65 20 4d |X .X+ #|define M|
|00003300| 41 58 4c 41 42 45 4c 09 | 36 34 09 2f 2a 20 6d 61 |AXLABEL.|64./* ma|
|00003310| 78 69 6d 75 6d 20 63 68 | 61 72 61 63 74 65 72 73 |ximum ch|aracters|
|00003320| 20 69 6e 20 61 20 6c 61 | 62 65 6c 20 2a 2f 0a 58 | in a la|bel */.X|
|00003330| 2b 20 23 64 65 66 69 6e | 65 20 4d 41 58 54 4f 4b |+ #defin|e MAXTOK|
|00003340| 45 4e 09 36 34 09 2f 2a | 20 6d 61 78 69 6d 75 6d |EN.64./*| maximum|
|00003350| 20 63 68 61 72 61 63 74 | 65 72 73 20 69 6e 20 61 | charact|ers in a|
|00003360| 20 74 6f 6b 65 6e 20 2a | 2f 0a 58 2b 20 0a 58 20 | token *|/.X+ .X |
|00003370| 20 2f 2a 0a 58 20 20 20 | 2a 20 41 20 6c 69 6e 6b | /*.X |* A link|
|00003380| 65 64 20 6c 69 73 74 20 | 6f 66 20 74 61 67 2d 76 |ed list |of tag-v|
|00003390| 61 6c 75 65 20 70 61 69 | 72 73 20 66 6f 72 20 65 |alue pai|rs for e|
|000033a0| 6e 75 6d 65 72 61 74 65 | 64 20 69 6e 74 65 67 65 |numerate|d intege|
|000033b0| 72 73 2e 0a 58 20 20 20 | 2a 2f 0a 58 2a 2a 2a 2a |rs..X |*/.X****|
|000033c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 0a 58 2a 2a 2a |********|***.X***|
|000033d0| 20 33 37 2c 34 35 20 2a | 2a 2a 2a 0a 58 20 20 20 | 37,45 *|***.X |
|000033e0| 2a 2f 0a 58 20 20 73 74 | 72 75 63 74 20 6e 6f 64 |*/.X st|ruct nod|
|000033f0| 65 20 7b 0a 58 20 20 20 | 20 20 20 73 74 72 75 63 |e {.X | struc|
|00003400| 74 20 6e 6f 64 65 20 2a | 6e 65 78 74 3b 0a 58 21 |t node *|next;.X!|
|00003410| 20 20 20 20 20 63 68 61 | 72 20 6c 61 62 65 6c 5b | cha|r label[|
|00003420| 33 32 5d 3b 20 2f 2a 20 | 54 68 69 73 20 6e 6f 64 |32]; /* |This nod|
|00003430| 65 27 73 20 28 75 6e 69 | 71 75 65 29 20 74 65 78 |e's (uni|que) tex|
|00003440| 74 75 61 6c 20 6e 61 6d | 65 20 2a 2f 0a 58 20 20 |tual nam|e */.X |
|00003450| 20 20 20 20 75 5f 6c 6f | 6e 67 20 20 73 75 62 69 | u_lo|ng subi|
|00003460| 64 3b 20 20 2f 2a 20 54 | 68 69 73 20 6e 6f 64 65 |d; /* T|his node|
|00003470| 27 73 20 69 6e 74 65 67 | 65 72 20 73 75 62 69 64 |'s integ|er subid|
|00003480| 65 6e 74 69 66 69 65 72 | 20 2a 2f 0a 58 21 20 20 |entifier| */.X! |
|00003490| 20 20 20 63 68 61 72 20 | 70 61 72 65 6e 74 5b 33 | char |parent[3|
|000034a0| 32 5d 3b 2f 2a 20 54 68 | 65 20 70 61 72 65 6e 74 |2];/* Th|e parent|
|000034b0| 27 73 20 74 65 78 74 75 | 61 6c 20 6e 61 6d 65 20 |'s textu|al name |
|000034c0| 2a 2f 0a 58 20 20 20 20 | 20 20 69 6e 74 20 74 79 |*/.X | int ty|
|000034d0| 70 65 3b 09 20 20 20 20 | 2f 2a 20 54 68 65 20 74 |pe;. |/* The t|
|000034e0| 79 70 65 20 6f 66 20 6f | 62 6a 65 63 74 20 74 68 |ype of o|bject th|
|000034f0| 69 73 20 72 65 70 72 65 | 73 65 6e 74 73 20 2a 2f |is repre|sents */|
|00003500| 0a 58 20 20 20 20 20 20 | 73 74 72 75 63 74 20 65 |.X |struct e|
|00003510| 6e 75 6d 5f 6c 69 73 74 | 20 2a 65 6e 75 6d 73 3b |num_list| *enums;|
|00003520| 09 2f 2a 20 28 6f 70 74 | 69 6f 6e 61 6c 29 20 6c |./* (opt|ional) l|
|00003530| 69 73 74 20 6f 66 20 65 | 6e 75 6d 65 72 61 74 65 |ist of e|numerate|
|00003540| 64 20 69 6e 74 65 67 65 | 72 73 20 28 6f 74 68 65 |d intege|rs (othe|
|00003550| 72 77 69 73 65 20 4e 55 | 4c 4c 29 20 2a 2f 0a 58 |rwise NU|LL) */.X|
|00003560| 20 20 7d 3b 0a 58 2d 2d | 2d 20 34 31 2c 34 39 20 | };.X--|- 41,49 |
|00003570| 2d 2d 2d 2d 0a 58 20 20 | 20 2a 2f 0a 58 20 20 73 |----.X | */.X s|
|00003580| 74 72 75 63 74 20 6e 6f | 64 65 20 7b 0a 58 20 20 |truct no|de {.X |
|00003590| 20 20 20 20 73 74 72 75 | 63 74 20 6e 6f 64 65 20 | stru|ct node |
|000035a0| 2a 6e 65 78 74 3b 0a 58 | 21 20 20 20 20 20 63 68 |*next;.X|! ch|
|000035b0| 61 72 20 6c 61 62 65 6c | 5b 4d 41 58 4c 41 42 45 |ar label|[MAXLABE|
|000035c0| 4c 5d 3b 20 2f 2a 20 54 | 68 69 73 20 6e 6f 64 65 |L]; /* T|his node|
|000035d0| 27 73 20 28 75 6e 69 71 | 75 65 29 20 74 65 78 74 |'s (uniq|ue) text|
|000035e0| 75 61 6c 20 6e 61 6d 65 | 20 2a 2f 0a 58 20 20 20 |ual name| */.X |
|000035f0| 20 20 20 75 5f 6c 6f 6e | 67 20 20 73 75 62 69 64 | u_lon|g subid|
|00003600| 3b 20 20 2f 2a 20 54 68 | 69 73 20 6e 6f 64 65 27 |; /* Th|is node'|
|00003610| 73 20 69 6e 74 65 67 65 | 72 20 73 75 62 69 64 65 |s intege|r subide|
|00003620| 6e 74 69 66 69 65 72 20 | 2a 2f 0a 58 21 20 20 20 |ntifier |*/.X! |
|00003630| 20 20 63 68 61 72 20 70 | 61 72 65 6e 74 5b 4d 41 | char p|arent[MA|
|00003640| 58 4c 41 42 45 4c 5d 3b | 2f 2a 20 54 68 65 20 70 |XLABEL];|/* The p|
|00003650| 61 72 65 6e 74 27 73 20 | 74 65 78 74 75 61 6c 20 |arent's |textual |
|00003660| 6e 61 6d 65 20 2a 2f 0a | 58 20 20 20 20 20 20 69 |name */.|X i|
|00003670| 6e 74 20 74 79 70 65 3b | 09 20 20 20 20 2f 2a 20 |nt type;|. /* |
|00003680| 54 68 65 20 74 79 70 65 | 20 6f 66 20 6f 62 6a 65 |The type| of obje|
|00003690| 63 74 20 74 68 69 73 20 | 72 65 70 72 65 73 65 6e |ct this |represen|
|000036a0| 74 73 20 2a 2f 0a 58 20 | 20 20 20 20 20 73 74 72 |ts */.X | str|
|000036b0| 75 63 74 20 65 6e 75 6d | 5f 6c 69 73 74 20 2a 65 |uct enum|_list *e|
|000036c0| 6e 75 6d 73 3b 09 2f 2a | 20 28 6f 70 74 69 6f 6e |nums;./*| (option|
|000036d0| 61 6c 29 20 6c 69 73 74 | 20 6f 66 20 65 6e 75 6d |al) list| of enum|
|000036e0| 65 72 61 74 65 64 20 69 | 6e 74 65 67 65 72 73 20 |erated i|ntegers |
|000036f0| 28 6f 74 68 65 72 77 69 | 73 65 20 4e 55 4c 4c 29 |(otherwi|se NULL)|
|00003700| 20 2a 2f 0a 58 20 20 7d | 3b 0a 58 2a 2a 2a 2a 2a | */.X }|;.X*****|
|00003710| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 0a 58 2a 2a 2a 20 |********|**.X*** |
|00003720| 35 31 2c 35 37 20 2a 2a | 2a 2a 0a 58 20 20 20 20 |51,57 **|**.X |
|00003730| 20 20 73 74 72 75 63 74 | 20 74 72 65 65 20 2a 63 | struct| tree *c|
|00003740| 68 69 6c 64 5f 6c 69 73 | 74 3b 09 2f 2a 20 6c 69 |hild_lis|t;./* li|
|00003750| 73 74 20 6f 66 20 63 68 | 69 6c 64 72 65 6e 20 6f |st of ch|ildren o|
|00003760| 66 20 74 68 69 73 20 6e | 6f 64 65 20 2a 2f 0a 58 |f this n|ode */.X|
|00003770| 20 20 20 20 20 20 73 74 | 72 75 63 74 20 74 72 65 | st|ruct tre|
|00003780| 65 20 2a 6e 65 78 74 5f | 70 65 65 72 3b 09 2f 2a |e *next_|peer;./*|
|00003790| 20 4e 65 78 74 20 6e 6f | 64 65 20 69 6e 20 6c 69 | Next no|de in li|
|000037a0| 73 74 20 6f 66 20 70 65 | 65 72 73 20 2a 2f 0a 58 |st of pe|ers */.X|
|000037b0| 20 20 20 20 20 20 73 74 | 72 75 63 74 20 74 72 65 | st|ruct tre|
|000037c0| 65 20 2a 70 61 72 65 6e | 74 3b 0a 58 21 20 20 20 |e *paren|t;.X! |
|000037d0| 20 20 63 68 61 72 20 6c | 61 62 65 6c 5b 33 32 5d | char l|abel[32]|
|000037e0| 3b 09 09 2f 2a 20 54 68 | 69 73 20 6e 6f 64 65 27 |;../* Th|is node'|
|000037f0| 73 20 74 65 78 74 75 61 | 6c 20 6e 61 6d 65 20 2a |s textua|l name *|
|00003800| 2f 0a 58 20 20 20 20 20 | 20 75 5f 6c 6f 6e 67 20 |/.X | u_long |
|00003810| 73 75 62 69 64 3b 09 09 | 2f 2a 20 54 68 69 73 20 |subid;..|/* This |
|00003820| 6e 6f 64 65 27 73 20 69 | 6e 74 65 67 65 72 20 73 |node's i|nteger s|
|00003830| 75 62 69 64 65 6e 74 69 | 66 69 65 72 20 2a 2f 0a |ubidenti|fier */.|
|00003840| 58 20 20 20 20 20 20 69 | 6e 74 20 74 79 70 65 3b |X i|nt type;|
|00003850| 09 09 09 2f 2a 20 54 68 | 69 73 20 6e 6f 64 65 27 |.../* Th|is node'|
|00003860| 73 20 6f 62 6a 65 63 74 | 20 74 79 70 65 20 2a 2f |s object| type */|
|00003870| 0a 58 20 20 20 20 20 20 | 73 74 72 75 63 74 20 65 |.X |struct e|
|00003880| 6e 75 6d 5f 6c 69 73 74 | 20 2a 65 6e 75 6d 73 3b |num_list| *enums;|
|00003890| 09 2f 2a 20 28 6f 70 74 | 69 6f 6e 61 6c 29 20 6c |./* (opt|ional) l|
|000038a0| 69 73 74 20 6f 66 20 65 | 6e 75 6d 65 72 61 74 65 |ist of e|numerate|
|000038b0| 64 20 69 6e 74 65 67 65 | 72 73 20 28 6f 74 68 65 |d intege|rs (othe|
|000038c0| 72 77 69 73 65 20 4e 55 | 4c 4c 29 20 2a 2f 0a 58 |rwise NU|LL) */.X|
|000038d0| 2d 2d 2d 20 35 35 2c 36 | 31 20 2d 2d 2d 2d 0a 58 |--- 55,6|1 ----.X|
|000038e0| 20 20 20 20 20 20 73 74 | 72 75 63 74 20 74 72 65 | st|ruct tre|
|000038f0| 65 20 2a 63 68 69 6c 64 | 5f 6c 69 73 74 3b 09 2f |e *child|_list;./|
|00003900| 2a 20 6c 69 73 74 20 6f | 66 20 63 68 69 6c 64 72 |* list o|f childr|
|00003910| 65 6e 20 6f 66 20 74 68 | 69 73 20 6e 6f 64 65 20 |en of th|is node |
|00003920| 2a 2f 0a 58 20 20 20 20 | 20 20 73 74 72 75 63 74 |*/.X | struct|
|00003930| 20 74 72 65 65 20 2a 6e | 65 78 74 5f 70 65 65 72 | tree *n|ext_peer|
|00003940| 3b 09 2f 2a 20 4e 65 78 | 74 20 6e 6f 64 65 20 69 |;./* Nex|t node i|
|00003950| 6e 20 6c 69 73 74 20 6f | 66 20 70 65 65 72 73 20 |n list o|f peers |
|00003960| 2a 2f 0a 58 20 20 20 20 | 20 20 73 74 72 75 63 74 |*/.X | struct|
|00003970| 20 74 72 65 65 20 2a 70 | 61 72 65 6e 74 3b 0a 58 | tree *p|arent;.X|
|00003980| 21 20 20 20 20 20 63 68 | 61 72 20 6c 61 62 65 6c |! ch|ar label|
|00003990| 5b 4d 41 58 4c 41 42 45 | 4c 5d 3b 09 09 2f 2a 20 |[MAXLABE|L];../* |
|000039a0| 54 68 69 73 20 6e 6f 64 | 65 27 73 20 74 65 78 74 |This nod|e's text|
|000039b0| 75 61 6c 20 6e 61 6d 65 | 20 2a 2f 0a 58 20 20 20 |ual name| */.X |
|000039c0| 20 20 20 75 5f 6c 6f 6e | 67 20 73 75 62 69 64 3b | u_lon|g subid;|
|000039d0| 09 09 2f 2a 20 54 68 69 | 73 20 6e 6f 64 65 27 73 |../* Thi|s node's|
|000039e0| 20 69 6e 74 65 67 65 72 | 20 73 75 62 69 64 65 6e | integer| subiden|
|000039f0| 74 69 66 69 65 72 20 2a | 2f 0a 58 20 20 20 20 20 |tifier *|/.X |
|00003a00| 20 69 6e 74 20 74 79 70 | 65 3b 09 09 09 2f 2a 20 | int typ|e;.../* |
|00003a10| 54 68 69 73 20 6e 6f 64 | 65 27 73 20 6f 62 6a 65 |This nod|e's obje|
|00003a20| 63 74 20 74 79 70 65 20 | 2a 2f 0a 58 20 20 20 20 |ct type |*/.X |
|00003a30| 20 20 73 74 72 75 63 74 | 20 65 6e 75 6d 5f 6c 69 | struct| enum_li|
|00003a40| 73 74 20 2a 65 6e 75 6d | 73 3b 09 2f 2a 20 28 6f |st *enum|s;./* (o|
|00003a50| 70 74 69 6f 6e 61 6c 29 | 20 6c 69 73 74 20 6f 66 |ptional)| list of|
|00003a60| 20 65 6e 75 6d 65 72 61 | 74 65 64 20 69 6e 74 65 | enumera|ted inte|
|00003a70| 67 65 72 73 20 28 6f 74 | 68 65 72 77 69 73 65 20 |gers (ot|herwise |
|00003a80| 4e 55 4c 4c 29 20 2a 2f | 0a 45 4e 44 5f 4f 46 5f |NULL) */|.END_OF_|
|00003a90| 70 61 72 73 65 2e 68 2e | 64 69 66 66 0a 69 66 20 |parse.h.|diff.if |
|00003aa0| 74 65 73 74 20 32 34 33 | 32 20 2d 6e 65 20 60 77 |test 243|2 -ne `w|
|00003ab0| 63 20 2d 63 20 3c 70 61 | 72 73 65 2e 68 2e 64 69 |c -c <pa|rse.h.di|
|00003ac0| 66 66 60 3b 20 74 68 65 | 6e 0a 20 20 20 20 65 63 |ff`; the|n. ec|
|00003ad0| 68 6f 20 73 68 61 72 3a | 20 5c 22 70 61 72 73 65 |ho shar:| \"parse|
|00003ae0| 2e 68 2e 64 69 66 66 5c | 22 20 75 6e 70 61 63 6b |.h.diff\|" unpack|
|00003af0| 65 64 20 77 69 74 68 20 | 77 72 6f 6e 67 20 73 69 |ed with |wrong si|
|00003b00| 7a 65 21 0a 66 69 0a 23 | 20 65 6e 64 20 6f 66 20 |ze!.fi.#| end of |
|00003b10| 6f 76 65 72 77 72 69 74 | 69 6e 67 20 63 68 65 63 |overwrit|ing chec|
|00003b20| 6b 0a 66 69 0a 65 63 68 | 6f 20 73 68 61 72 3a 20 |k.fi.ech|o shar: |
|00003b30| 45 6e 64 20 6f 66 20 73 | 68 65 6c 6c 20 61 72 63 |End of s|hell arc|
|00003b40| 68 69 76 65 2e 0a 65 78 | 69 74 20 30 0a |hive..ex|it 0. |
+--------+-------------------------+-------------------------+--------+--------+